美文网首页
JS 正则表达式#3案例

JS 正则表达式#3案例

作者: IamaStupid | 来源:发表于2020-07-01 13:48 被阅读0次

    匹配字符串中的变量名称

    str = "三好学生Hello w888 8ss88 {{msg}} - {{person.name}}--}}--{{}}"
      reg = new RegExp(/\w+/g);
      arr = reg.exec(str)
      arr2 = str.match(reg)
      console.log('exec:', arr)
      console.log('match:', arr2)
      // exec: ["Hello", index: 4, input: "三好学生Hello w888 8ss88 {{msg}} - {{person.name}}--}}--{{}}", groups: undefined]
      // match: (6) ["Hello", "w888", "8ss88", "msg", "person", "name"]
    
     reg = new RegExp(/[a-zA-Z]+/g);
      arr = reg.exec(str)
      arr2 = str.match(reg)
      console.log('exec:', arr)
      console.log('match:', arr2)
      // exec: ["Hello", index: 4, input: "三好学生Hello w888 8ss88 {{msg}} - {{person.name}}--}}--{{}}", groups: undefined]
      // match: (6) ["Hello", "w", "ss", "msg", "person", "name"]
    

    \w 等价于 ‘[A-Za-z0-9_]’,字母数字下划线
    . 查找单个字符,除了换行和行结束符
    n+ 匹配任何包含至少一个 n 的字符串
    *、+ 和 {n,} 重复类具有强贪婪性,表现为贪婪的无限性。

    如果不加+号,match匹配的就是一个个字母。

    验证邮箱

    function validEmail (emailStr) {
        var reg = new RegExp(/^[a-zA-Z0-9-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z]+$/g);
        let flag = reg.test(emailStr);
        console.log("validEmail "+emailStr+":"+flag);
    }
    // absd@b.com // true
    // @a.com // false
    // abc@a.b.com  // true
    // abc@a.b.com/  // false
    // abc@.com  // false
    // absd@a-b.com // true
    

    删除空格

    // 删除字符串左右的空白
      function replaceTrim (str) {
        var reg = new RegExp(/(^\s+|\s+$)/,'g');
        let newStr = str.replace(reg, "");
        console.log("replaceKg "+str+":"+newStr);
      }
      // 删除所有空白 包括字符串中间的空白
      function replaceAll (str) {
        var reg = new RegExp(/\s+/,'g');
        let newStr = str.replace(reg, "");
        console.log("replaceKg "+str+":"+newStr);
      }
    

    匹配任意双字节的汉字

      reg = new RegExp(/[^\u0000-\u00ff]+/g);
      str = '中国光谷ggggggggg sd ';
      arr = reg.exec(str)
      arr2 = str.match(reg)
      console.log('exec:', arr)
      console.log('match:', arr2)
      // exec: ["中国光谷", index: 0, input: "中国光谷ggggggggg sd ", groups: undefined]
      // match: ["中国光谷"]
    

    相关文章

      网友评论

          本文标题:JS 正则表达式#3案例

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