美文网首页我爱编程
js 正则表达式

js 正则表达式

作者: super静_jingjing | 来源:发表于2018-04-16 14:56 被阅读0次

    正则中经常用到的方法

    1. test() :在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
      var str = '123ddd';
      var re = /\d/;
      alert(re.test(str));
      
      结果: true
    2. search() :在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1
            var str = '123ddd';
            var re = /\d/;
            alert(str.search(re));
    
    结果:0
    
    1. match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
      量词:+ 至少出现一次 匹配不确定的次数(匹配就是搜索查找的意思)
      全局匹配:g——global(正则中默认,只要搜索到复合规则的内容就会结束搜索 )
              var str = '123ddd231';
               var re = /\d+/g;
               alert(str.match(re));
    

    结果:[123,231]
    4.replace() :查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。

            var str = '哈哈,敏感词是哈哈哈,把哈哈屏蔽掉,哈哈哈哈,让你哈哈哈';
            var re = /哈+/g;
            alert(str.replace(re,"****"));
    

    结果:****,敏感词是****,把****屏蔽掉,****,让你****

    中括号的使用
    (1) 表示或,凡是出现在中括号中的全是单个字符为单位
    [abc]---表示 a或者b或者c
    [123 456] --- 表示 1或者2或者3或者空格或者4或者5或者6

    var str = '1b2 sha';
    var re = /1[abc]2/;
    alert(str.match(re));
    

    结果:1b2

    (2) 范围
    [0-9] 所有数字
    [a-z] 所有英文

    (3) 排除
    [^a] 除了a以外的所有字符

    小括号的使用
    小括号,叫做分组符

    var str = '2018-4-1';
    var re1 = /\d-+/g;  // 全局匹配数字,横杠,横杠数量至少为1,匹配结果为:  8-   4-
    var re1 = /(\d-)+/g;  // 全局匹配数字+横杠,数字和横杠整体数量至少为1   8-8-
    var re2  = /(\d+)(-)/g;   //  全局匹配至少一个数字,匹配一个横杠 匹配结果:2018- 4-
    

    转义字符
    \s : 空格
    \S : 非空格
    \d : 数字
    \D : 非数字
    \w : 字符 ( 字母 ,数字,下划线_ )
    \W : 非字符
    .(点)——任意字符
    . : 真正的点
    \b : 独立的部分 ( 起始,结束,空格 )
    \B : 非独立的部分

    量词 代表出现的次数
    {n,m}:至少出现n次,最多m次
    {n,}:至少n次
    *:任意次 相当于{0,}
    ?:零次或一次 相当于{0,1}
    +:一次或任意次相当于 {1,}
    {n}:正好n次

    常用的表单验证:
    匹配中文:[\u4e00-\u9fa5] //中文ACALL码的范围
    行首行尾空格:/\s|\s/
    Email:/\w+@[a-z0-9]+(.[a-z]+){1,3}/
    身份证:/[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x/

    相关文章

      网友评论

        本文标题:js 正则表达式

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