JavaScript 八、字符串 正则

一、字符串


1.字符串的特点:

同数组一样,字符串也有下标和长度这两个属性,并且字符串遍历也用for

但不同的是,获取字符串中制定位置的字符用

str.charAt(i)   //str变量名,i表示字符串中的下标


例:

                              var str='no zuo no die';

console.log(str.length);//获取字符串的长度

//遍历字符串

     for(var i=0;i

   //获取字符串中的元素

      console.log(str.charAt(i));


   //获取指定位置字符的unicode号

     console.log(str.charCodeAt(i));

     }


2.字符串中的API:所有字符串中的API都无权修改原字符串,必须返回新字符串


1)toUpperCase();转大写    //案例见demo02  demo03

2) toLowerCase();转小写    //案例见demo02  demo03

3) slice(starti,endi+1);截取  //案例见demo04

4)concat(); 拼接             //案例见demo05

5) substring(starti,endi+1);截取 用法同slice  只是不支持负数参数

6) substr(starti,n);截取从starti开始的n个字符  //案例见demo07


* 7) indexOf('关键词',starti);检索一个固定关键词出现的位置  

从starti开始,查找下一个关键词出现的位置

如果找不到,返回-1

如果不写starti,默认从0开始找

案例见demo08


* 8) lastIndexOf('关键词',starti);检索上一个固定关键词出现的位置

从str中fromi位置开始查找前一个"关键词"出现的位置

如果找不到,返回-1

简写:省略fromi, 表示从末尾开始找

何时:只要查找最后一个xxxx


二、正则表达式(Regular Expression):

1.定义:  规定字符串中出现规律的规则.用来检某个字符串是否符合规则或检测字符串

中是否包含符合规定的子字符串


2.如何声明一个正则表达式

                    var reg=/ /;

var reg=new RegExp(/正则表达式/);


验证是否正确用reg.test(str);  //reg代表正则表达式,str代表字符串


语法:

1.最简单的正则就是字符集原文 案例见demo10

2.字符集:规定一位字符可用的备选列表 [备选字符列表]   案例见demo10

3.如果字符列表中部分字符连续就可以用-省略


一位大写字母:[A-Z]

一位小写字母:[a-z]

一位字母:[A-Za-z]

一位数字:[0-9]

4.除了[^xxx]表示除了xxx都行 [^]表示除了


5.预定义字符集:对部分常用字符集的简化  案例见demo11

一位数字:\d===>[0-9]

一位字母、数字、下划线\w===>[A-Za-z0-9_字符                          

一位空字符(空格、换行 tab):\s

.匹配除回车和换行以外的所有字符


6.量词:专门规定一个字符出现次数的规则

有明确数量限制:

{m,n}至少出现m次,最多出现n次

{m,}至少出现m次,多了不限

{m}必须出现m次  


没有明确数量限制:

?可有可无,最多一次

*可有可无,多了不限

+至少一次,多了不限


练习:

1.身份证号的正则

前17位为数字,最后一位可以为数字或x或X

                               /^\d{17}[xX]$/


7.分组和选择

分组:将多个字符集用()(圆括号)包裹为一组

选择:其实就是程序中的或者 |

规则1|规则2  只要满足其一即可


手机号:

+86或0086? 可有可无,最多一次

空字符可有可无,多了不限

     1

在3,4,5,7,8,9之中挑一个

9位数字

    ^(\+86|0086)?\s*1[345789]\d{9}$

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