JS 正则表达式

JavaScript正则表达式:

 
例:
    var myReg = /\d{4}/gi;
    var myReg = /[a-z]+[0-9]+/;
    var myReg = /([a-z]+[0-9]+)+/;     //★ 圆括号( ) 用于定义子表达式
 
创建正则表达式的一般形式:
    ①var regExp = /正则表达式内容/gi;        //隐式创建
    ②var regExp = new RegExp(正则表达式内容,"gi");    //显示创建
 
修饰符:
    i    执行对大小写不敏感的匹配。
    g    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
    m    执行多行匹配。
 
 
正则表达式对象的方法:
    exec方法
    test方法
 
字符串对象与正则表达式相关的方法:
    search方法
    match方法
    replace方法
    split方法
 
 
★反向捕获:
    例如,要找四位数,第一位与第四位相同,第二位与第三位相同,如9889。
    则正则表达式为: var myReg = /(\d)(\d)\2\1/gi;
 
 
限定符(量词):
    {出现次数}
    {3,4}    //出现3或4次。★JS默认使用贪婪匹配原则,即尽可能匹配最多的次数。
    {3,}    //出现最少3次,最多可以无限次。
 
    +    //表示出现1次到任意多次。
    *    //表示出现0次到任意多次。
    ?    //表示出现0次到1次。
 
 
字符匹配符(方括号):
    [a-z]    //表示可以匹配a-z中任意一个字符。
    [A-Z]    //表示可以匹配A-Z中任意一个字符。
    [0-9]    //表示可以匹配0-9中任意一个字符。
    [abcd]    //表示可以匹配abcd中任意一个字符。
 
    [^a-z]    //表示可以匹配不是a-z中的任意一个字符。
    [^A-Z]    //表示可以匹配不是A-Z中的任意一个字符。
    [^0-9]    //表示可以匹配不是0-9中的任意一个字符。
    [^abcd]    //表示可以匹配不是abcd中的任意一个字符。
 
 
元字符:
    \d 相当于 [0-9]
    \D 相当于 [^0-9]
 
    \w 相当于 [a-zA-Z0-9_]
    \W 相当于 [^a-zA-Z0-9_]
 
    \s 匹配任何空白字符(包括空格,制表符 即Tab 等)。
    \S 匹配任何非空白字符。
 
    \b 查找位于单词的开头或结尾的匹配,即 \bis\b 就代表 is 是独立的一个单词。
    \B 查找不处在单词的开头或结尾的匹配,即 \Bis\b 就代表 is 不是一个独立的单词,有可能是 this 的最后两个组成字母。
 
    . 匹配除了\n之外的所有字符。如果想匹配“.”要使用转意字符 \. 。
 
 
定位符:
    ^ 匹配开始位置的,例如 /^abc/gi 就是代表以 abc 开头的。
    $ 匹配结束位置的,例如 /xyz$/gi 就是代表以 xyz 结尾的。
 
 
选择匹配符(或):
    | 例如:/a|b|c/gi 就表示 可以是a或b或c其中之一。
 
 
验证中文:
    \un 其中n代表一个用4个十六进制数字表示的 Unicode 字符。
    例如:\u3000    表示中文全角空格。
 
在 Unicode 编码中,中文对应的范围是 4E00 - 9FA5 。
所以,我们可以通过以下正则表达式验证中文:
    var patt = /[\u4E00-\u9FA5]/g;

 

posted @ 2017-11-10 20:47  Uncle_Jay  阅读(83)  评论(0编辑  收藏  举报