乐趣区

关于javascript:正则的一点了解慢更

<!DOCTYPE html>
<html lang="cn">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title> 正则 </title>
</head>
<body>

  <input type="text" id="int">
  <script>
    let int = document.querySelector('#int')

    int.addEventListener('keyup',function(e){
      let str = e.target.value
      // 正则验证输出内容 -----------------------------------------------------------------------------------------------------------------
      // let reg = /abc/ig  // 写一个正则验证  这里 abc 示意要匹配的字符串,i 示意疏忽小小写,g 示意全局匹配会将该字符串残缺的匹配一遍
      
      // let reg = /[^abc]/ig  // 正则中 [] 示意匹配 [] 中任何一个字符串,一个 [] 示意一个字符,这个正则是要匹配所有不是 a||b|| c 的字符
      // // 对于 ^,只有 ^ 是应用在 [] 中,没有任何别的嵌套就示意否定的意思,而后如果不是间接在 [] 中应用,则示意限度结尾的作用
      // let reg = /^a[boi]/ig  // 示意匹配以 ab/ao/ai 结尾的字符串

      // let reg = /[^a-z]/ig // 能够过滤掉字符串中的字母,返回非字母
      let reg = /[^0-9]/g  // 能够过滤掉字符串中的数字, 返回非数字


      // 输入行 ----------------------------------------------------------------------------------------------------------------------------
      // match() 会在字符串内检索指定的数据, 不扭转原字符串,或者找到一个或者多个正则表达式的匹配,而后将匹配到的后果返回成为一个数组
      console.log((str.match(reg)).join(''))  // 返回的是一个由满足正则匹配条件组成数组, 能够应用 join 转为字符串

      // let newStr = str.replace(reg, '.')   // 将满足正则匹配条件的字符用 . 取代  , replace 不会代替源字符串 -> reg = /[^0-9]/g 那就将所有通过验证的非数字替换掉
      // console.log(str);
      // console.log('newStr',newStr);
      
    })



  </script>
</body>
</html>
退出移动版