美文网首页UIT
RegExp正则表达式对象

RegExp正则表达式对象

作者: 彤_姑娘 | 来源:发表于2016-11-13 02:05 被阅读46次

    一.
    (1)正则表达式是描述字符模式的对象。
    (2)正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。
    (3)语法:

    var reg =new RegExp(pattern ,modifiers);
    或
    var reg=/pattern/modifiers;
    例:var reg=new RegExp(“\\w+”,“i”);
    var reg=/\w+/i;
    注意:pattern:规则模式;modifiers:修饰符(全文匹配或区分大小写)
    

    修饰符:用于执行不区分大小写和全文的搜索。

    i-修饰符是用来执行不区分大小写的匹配。
    g-修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)

    RegExp对象方法

    test():搜索字符串指定的值,根据结果并返回真或假。
    exec():检索字符串中的指定值,返回值是被找到的值,如果没有发现匹配,则返回null。

    举个例子
    test()
    var reg = new RegExp("hello");//方式二:var reg = /hello/;
    var str = "hi , hello Andy , world!";
    document.write(reg.test(str));
    //返回真假:true;
    
    exec()
    var reg = new RegExp("hello");//方式二:var reg = /hello/;
    var str = "hi , hello Andy , world!";
    document.write(reg.exec(str));
    //返回被找的值:hello
    

    二.实际应用
    (1)验证用户名和密码

    ("^[a-zA-Z]\w{5,15}$")
    注释:
    (1) ^:以^开头
    (2) [a-zA-Z]:匹配a-z和A-Z
    (3) \w:字符(字母,数字,下划线)
    (4) {5,15}:匹配次数为5-15个
    (5) $:以$结尾
    
    用户名验证

    (2)验证电话号码

    ("^(\\d{3,4}-)\\d{7,8}$")
    注释
    /d:代表数字
    正确格式:xxx / xxxx  -  xxxxxxx / xxxxxxxx
    

    (3)验证邮箱

    邮箱验证.png
    方括号

    [ ]:用于查找某个范围内的字符。

    例如:
    [abc]:查找含有abc的字符。
    [^abc]:查找不含abc的字符。
    [0-9]: 查找任何从 0 至 9 的数字。
    [a-z] :查找任何从小写 a 到小写 z 的字符。
    [A-Z] :查找任何从大写 A 到大写 Z 的字符。
    [A-z] :查找任何从大写 A 到小写 z 的字符。
    [adgk]: 查找给定集合内的任何字符。
    [^adgk]: 查找给定集合外的任何字符。

    元字符

    拥有特殊含义的字符

    例如
    .:查找单个字符(除换行和行结束)
    \w:[a-zA-Z0-9_] (字母,数字,下划线)
    \d:[0-9] (数字0-9)
    \s:查找空白字符。

    量词

    例如
    n+:匹配任何包含至少一个 n 的字符串。
    n*:匹配任何包含零个或多个 n 的字符串。
    n?:匹配任何包含零个或一个 n 的字符串。
    n{X}:匹配包含 X 个 n 的序列的字符串。
    n{X,Y}:匹配包含 X 或 Y 个 n 的序列的字符串。
    n{X,}:匹配包含至少 X 个 n 的序列的字符串。
    n$:匹配任何结尾为 n 的字符串。
    ^n:匹配任何开头为 n 的字符串。

    更多参考
    http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

    相关文章

      网友评论

      本文标题:RegExp正则表达式对象

      本文链接:https://www.haomeiwen.com/subject/dybzuttx.html