JS字符

字符的常用方法:

1.length属性,返回的是字符串的长度,空格也是字符

        let s1 = "好好 学习"

        console.log(s1.length);    //输出5        

2.charAt()方法,根据字符串中字符的索引(下标)获取对应的字符,注意:索引从0开始

        let s2 = "HelloWorld"

        console.log(s2.charAt(0));    //输出H

        console.log(s2.charAt(3));    //输出l

    获取字符串的中指定索引的字符,也可以通过[索引]的方式获取

        console.log(s2[0]);     //输出H

        console.log(s2[3]);    //输出l

3.charCodeAt()方法,用于获取字符串中指定位置字符的Unicode编码值

     A -> 65    a -> 97    你 -> 20320

        console.log(s2.charCodeAt(0));    //输出72

        console.log(s1.charCodeAt(0));    //输出22909

4.concat()方法,用于拼接字符串,通常情况下,我们可以直接使用 加号 去拼接,该方法,可以同时拼接多个字符串数据

        let s3 = "张三"

        let s4 = "李四"

        let s5 = "王五"

        let s6 = s3.concat(s4)

        console.log(s6);    //输出张三李四

        console.log(s3);    //输出张三

        let s7 = s3.concat(s4,s5);

        console.log(s7);    //输出张三李四王五

        let s8 = s3+s4;

        console.log(s8);    //输出张三李四

        let s9 = s3+s4+s5;

        console.log(s9);    //输出张三李四王五

5.fromCharCode()方法,用于将指定的Unicode编码转为指定字符,注意该方法是有String类型来调用的,该方法可以传递多个Unicode编码

        console.log(String.fromCharCode(65));    //输出A

        console.log(String.fromCharCode(65,66,67));    //输出ABC

        console.log(String.fromCharCode(12345,33678,44778));    //输出〹莎껪

6.indexOf()方法,用于从字符串中返回指定字符串第一次出现的位置(注意:索引从0开始,找不到返回-1)

        let str1 = "abc你好ccc你好ddd你好eee"

        console.log(str1.indexOf('你好'));    //输出3

        console.log(str1.indexOf('你好呀'));    //输出-1

7.lastIndexOf()方法,是从后往前找,找到后,下标是从前往后数(注意,如果找不到返回-1)

        console.log(str1.lastIndexOf('你好'));    //输出13

        console.log(str1.lastIndexOf('你好呀'));    //输出-1

8.slice()方法,用于截取指定区间范围内的字符串,该方法需要传两个参数,分别是起始位置和结束位置,能够取到起始位置,取不到结束位置

        注意:slice()方法的参数,可以传负数,表示从后往前数索引

        console.log(str1.slice(3,6));    //输出你好c

        如果只传一个参数,从起始位置往后面全部截取

        console.log(str1.slice(3));    //输出你好ccc你好ddd你好eee

        console.log(str1.slice(-6,-3));    //输出d你好

9.substring()方法,用于截取指定区间范围内的字符串,该方法需要传两个参数,分别是起始位置和结束位置,能够取到起始位置,取不到结束位置

        注意:substring()方法参数,只能传正数,不能传负数

        console.log(str1.substring(3,6));    //输出你好c

        console.log(str1.substring(3));    //输出你好ccc你好ddd你好eee

        console.log(str1.substring(-6,-3));    //无输出

10.substr()方法,也是用于截取字符串,它的两参数分别是:起始位置和截取长度

        console.log(str1.substr(3,6));    //输出你好ccc你

        只传1个参数,就表示从起始位置到最后全部截取

        console.log(str1.substr(3));    //输出你好ccc你好ddd你好eee

11.toLowerCase()方法,用于返回字符串转的小写版本,注意:不是改自身

        toUpperCase()方法,用于返回字符串的大写版本,注意:不是改自身

        let str2 = 'AbCdEfG'

        console.log(str2.toLowerCase());    //输出abcdefg

        console.log(str2.toUpperCase());    //输出ABCDEFG

12.trim()方法,用于去除字符串两端空格

        let str3 = '    abc   cba    '

        console.log(str3.length);    //输出17

        注意:trim()方法,只能去掉字符串两端的空格,中间的空格不能去掉

        console.log(str3.trim());    //输出abc cba

练习1

输入邮箱地址,验证邮箱格式是否正确,邮箱格式:必须包含@符号,必须包含.符号,.符号必须在@符号的后面,而且中间至少再隔一位,@符号不能是第一位,.符号不能是最后一位,比如:zhangsan@123.com

        let email = prompt('请输入邮箱:');

        //获取邮箱中@符号的位置

        let a = email.indexOf('@');

        // 获取邮箱中最后一个.符号的位置

        let b = email.indexOf('.');

        // a>0 表示必须包含@符号,并且还不能是第一位

        // b<email.length-1 表示必须包含.符号,并且还不能是最后一位

        // b-1>a 表示.符号必须在@符号的后面,而且中间至少隔一位

        if(a>0 && a<email.length-1 && b-1>a){

            alert('邮箱格式正确')

        }else{

            alert('邮箱格式错误')

        } 

练习2

输入登录名和密码,要求登录名长度为2-4位,密码长度是6-10位,用户名不能是全数字

        let id = prompt('请输入登录名(2-4位):');

        let pwd = prompt('请输入密码(6-10位):');

        let a = id.length;      //登录名长度

        let b = pwd.length;     //密码长度

        //先判断登录名

        if(a>=2 && a<=4 && isNaN(id)){

            //再判断密码

            if(b>=6 && b<=10){

                alert('登录成功')

            }else{

                alert('密码长度是6-10位')

            }

        }else{

            alert('登录名长度必须是2-4位,登录名不能是全数字')

        }

练习3

输入手机号码,要求长度必须是11位,第一位必须是1,后面的必须是数字

        let phone = prompt('请输入手机号:');

        let len = phone.length;    //获取手机号的长度

        let first = phone[0];    //获取第一位数字

        let next = phone.slice(1);    //从第二位到最后全部截取

        //粗略的判断

        if(len==11 && first==1 && !isNaN(next)){

            alert('手机号码正确')

        }else{

            alert('手机号码错误')

        } 

        //详细的判断

        if(len!=11){

            alert('手机号码必须是11位')

        }else if(first!=1){

            alert('手机号码的第一位必须是1')

        }else if(isNaN(next)){

            alert('手机号码必须是全数字')

        }else{

            alert('手机号码正确')

        } 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。