<!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>



张嘀嗒
9 声望2 粉丝

一个前端小白,更新学习笔记~~