js正则表达式

114 阅读2分钟

正则表达式 :用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则

        //获取将字符串中符合规则的内容提取出来
        //创建正则表达式的对象
        //语法: var 变量 =new RagExp("正则表达式","匹配模式")
        // 使用typeof检查正则对象。 会返回objeat
        var a = new RegExp("a", "i");
        //   var a = new RegExp("abc", "i");这个正则表达式可以来检查一个字符串中是有含有a,
        //在构造函数中可以传递一个匹配模式是作为第二个参数 i:忽略大小写,g:全局匹配模式
        //正则表达式的方法: test(),使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false
        var b = "AC"
        var obj = a.test(b)
        console.log(obj)
        //使用字面量来创建正则表达式
        // 语法:var 变量 =/正则表达式/匹配模式
        var b = /a/i
        var c = "oia"
        var d = b.test(c)
        console.log(d)
        //创建一个正则表达式,检查一个字符串是否有a或b :使用 | 表示或者的意思
        var er = /a|b|c/i
        var ew = "Acew"
        console.log(er.test(ew))
        //创建一个正则表达式检查一个字符串中是否含有字母
        //[]里的内容也是或的关系
        //[ab] ==a|b
        //[a-z] 任意小写字母
        //[A-Z]任意大写字母
        //[A-z]任意字母
        //[0-9]任意数字
        var reg = /[a-z]/
        var des = "A"
        console.log(reg.test(des))
        //检查一个字符串中是否含有 abc或adc或aec
        var reg = /abc|AEC|AWE/i
        var desS = "ABCdefg"
        console.log(reg.test(desS))
        //[^]除了字符串里有的返回ture
        var regqw = /[^abc]/
        var desSw = "abc"
        console.log(regqw.test(desSw))
        
        
         //创建一个正则表达式,用来检查一个字符串是否是一个合法的手机号
        // 1. 以1开头
        // 2. 第二位3 - 9 任意数字 
        // 3. 三位以后任意数字9个 
        let phone = /^1{1}[3-9][0-9]{9}$/
        let ipt = document.querySelector("input")
        ipt.onchange = function() {
            if (phone.test(ipt.value) == true) {
                alert("合法的手机号")
            } else {
                alert("不合法手机号")
            }
        }