表单验证:正则表达式

正则表达式是为了匹配字符

一:特殊符号

匹配特殊符号的时候都需要加上\来转义字符

   ! @  $  ^  * +  =  |  .  ?  /  \  {  }  ( )   [ ]

二:特殊字符

o  t  n  v  f  r   xnn   uxxxx   cX

知识点:

创建正则表达式:A.  var re=new RegExp( "a" , "i" )  //参数a:要匹配的正则的内容,i不区分大小写,一个标志

                 B.   var re=/a/i    //正则的内容写在斜杠之间,标志写在外面(匹配字符a,不区分大小写)

          var re=/*/i   //*去匹配任意字符

          var  re=/\*/i   //加上\转义字符,只匹配*

字符类:                                                                                                  

 例:var re=/^[^\d]w+/g     //第一个^代表匹配字符串的开头,第二个^代表匹配非方括号中的所有字符

匹配帐号是否合法:(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  评注:表单验证时很实用

 


 

知识点:

重复类:

           {n}   匹配前一项n次      var re=/a{3}/i  //字符串出现3次连续的a,才能够被匹配,不区分大小写

            {n,}  匹配前一项至少一次,至多不限

          {n,m}匹配前一项至少n次,最多m次即n<=匹配次数<=m

           {?}   匹配前一项0次或者是1次

          {+}  匹配前一项至少一次 

           {*}  匹配前一项0次或者是多次 

var re=/a|b/i     //匹配a字符或是b字符

定位符:

  ^   匹配字符串的开头   var re=/^a/i   //代表a必须出现在字符串的开头

  $   匹配字符串的结尾   var re=/a$/i    //代表a必须出现在字符串的结尾处

  \b  匹配一个单词的边界     // \b 元字符通常用于查找位于单词的开头或结尾的匹配。

  \B  与\b相反,匹配一个非单词的边界     //:\B 元字符通常用于查找不处在单词的开头或结尾的匹配

例子:\b

   /\bm/ 匹配 "moon" 中的 'm';

   /oo\b/ 不匹配 "moon" 中的 'oo',因为 'oo' 后面的 'n' 是一个单词字符;

   /oon\b/ 匹配 "moon" 中的 'oon',因为 'oon' 位于字符串的末端,后面没有单词字符;

   /\w\b\w/ 不匹配任何字符,因为单词字符之后绝不会同时紧跟着非单词字符和单词字符。

   例如:/\B../ 匹配 "noonday" 中的 'oo',而 /y\B./ 匹配 "possibly yesterday." 中的 'ye'。

修饰符                                                                                                        

    i     执行对大小写不敏感的匹配                                                                                              

   g     执行全局匹配,而非找到第一个后就停止匹配                              

   m   执行多行匹配    

元字符  

 元字符(Metacharacter)是拥有特殊含义的字符:

元字符描述
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NUL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

                                                                  

         

    

 

 

 

 

 

 

 

 

 

 

 

 

 

方括号                                              

方括号用于查找某个范围内的字符:

表达式描述
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。

                                                             

                                                                            

     

 

 

 

 

 

量词                                                                                        

量词描述
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 至 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

                

 

 

 

 

 

 

             

 

posted @ 2017-02-23 17:47  无花即无果  阅读(405)  评论(0编辑  收藏  举报