正则表达式

来源:互联网 发布:mysql 修改字段长度 编辑:程序博客网 时间:2024/06/14 23:45
正则表达式  
使用环境:(验证字符串是否符合我们设置的规则
1) 登录:密码验证(字符串+数字);
2) 注册:邮箱、手机号、账号;
3) 解析歌词(lrc);
 
创建方式:
1) 
new RegExp();
2) //;   -------★★★★★非常重要
可使用的测试方式:
1) text:function  --> Boolean  表示是否符合设置的规则
2) 
exec:验证字符串的规则 有两种情况
    var result = regexp.exec(“wwww”);
① 符合规则->result->Array
② 不符合规则->result->null

正则表达式修饰符
1) i   在匹配的时候不区分大小写;
2) g  全部完成之后 停止(不会匹配到第一个就停止)(✭✭✭✭✭不能直接使用正则表达式中的测试方法,需要使用字符串的方(如search、 match、 replace、 split));
正则表达式的模式(规则)
v 三种括号的意义
① 中括号[ ],只要符合中括号中的任意字符 就是成功的;如[a-z](只要是a到z之间的小写字母都可以);
② 大/花括号{ },匹配内容的数量
² {n},必须有n个重复的内容(n为数字);
    如:/^[A-z]{3}/ 必须以三个字母开头
² {n,m},必须有n到m个范围之内的内容;
                    如:/[A-z]{3,5}$/ 必须以3-5个字母结束
² {n,},必须有n个以上重复的内容
                    如:/[\d]{2,}/ 必须包含两个数字
元字符:有特殊意义的字符(在使用的时候,(字符)前面都需要加转义符\)
        除了\n都匹配
① w:0-9  a-z  A-Z  (大写的W与它相反)
② d:0-9  (大写的D与它相反)
③ s:空白字符 (大写的S与它相反)
④ b:单词的边界 (大写的B与它相反)
² 查找单词边界(汉字不行),放在前为起始位置,放在后为结束位置
² 单词是一个整体 不能包含空格,有空格则等于拆分为两个单词
² 注意如果是中文 没办法判断。中文可用(indexOf判断)
量词:
{ }  匹配内容的数量    

^  以什么开始   

$  以什么结束   

*  可以匹配前面的规则 也可以不匹配
   如/w*/
+  至少匹配一个前面的规则
    如/w+/
? 可以匹配前面的规则也可以不匹配    

?=  表示需要匹配某个规则后面的规则
 
?!  后面没有紧跟某个规则
     


原创粉丝点击