js网页特效(五)正则表达式

1.正则表达式

(1).正则表达式的声明和使用

通过构造函数定义

    var 变量名= new RegExp(/表达式/);

通过直接量定义(简单方便,我们一般用这个)

    var 变量名= /表达式/;

常用方法,可用于检测传入的字符串是否符合该规则并返回布尔值

    exp.test("要检测的字符串")

(2)预定义类

@预定义类和转义符

     .  [^\n\r] 除了换行和回车之外的任意字符
     \d [0-9]       数字字符digit
     \D [^0-9]  非数字字符
     \w [a-zA-Z0-9_]    单词字符(所有的字母数字和_) word
     \W [^a-zA-Z0-9_]   非单词字符
     \s [\f\r\n\t\v]    不可见字符 space
     \S [^\f\r\n\t\v]   可见字符

(3)字符类

@字符类

    简单类[abc] 表示该位置可以出现的字符
    负向类[^abc] 表示该位置不可以出现的字符
    范围类[a-e]  表示该位置可以出现的字符的范围
    组合类[a-xA-E0-9] 范围类的组合

(4). 边界 量词 括号

    @边界
    ^ 会匹配行或者字符串的起始位置
    ^只有在[]内才表示非 在外边表示开始
    $ 会匹配行或字符串的结尾位置
    ^$在一起 表示必须是这个(精确匹配)
-------------------------------------------------
    @量词
     "*"    重复零次或更多 x>=0
     "+"    重复一次或更多次 x>=1
     "?"    重复零次或一次  x=(0||1)
    {n} n次  x=n
    {n,}    重复n次或更多  x>=n
    {n,m} 重复出现的次数比n多但比m少 n<=x<=m
    @括号总结
    ()表示一组
    []表示一个字符的位置
    {}表示次数

(5)常见项目匹配项

    匹配国内电话号码:
        /^0\d{2,3}-\d{7,8}$/
    匹配姓名:
        /^[\u4e00-\u9fa5]{2,}$/
    匹配腾讯QQ号:
        /^[1-9]\d{4,10}$/
    匹配手机号:
        /^(13[0-9]|14[57]|15[0-9]|18[0-9])\d{8}$/
    匹配邮箱:
        /^\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

你可能感兴趣的:(js网页特效(五)正则表达式)