正则

正则表达式 RegExp
        在ECMAScript 是内置对象 提供了对应的构造函数
        正则是一种中立于语言的 用于描述特定字符规则的表达式
        正则是引用类型

 

        由普通字符 和 特殊字符组成

 

        JavaScript诞生于1995年
        这个语言的设计初衷 表单验证

 

        创建正则 有两种方式
        1. 自面量创建
        var reg = /abc\#/;

 

        // 2. 使用构造函数创建
        
var reg2 = new RegExp('abc');
        console.log(reg);
        console.log(reg2);

        console.log(reg == reg2); // false 地址不同
       正则中有特殊函数的字符
        如果需要匹配如下字符 需要使用 \ 进行转义  
        .     \    /    *    ?    +    [   ]    (    )  {    }   ^    |    $

        RegExp.prototype.test();
        语法: reg.test(testString)
        参数: testString 需要验证规则的字符串
        描述: 用于检测testString是否符合正则表达式的规则,并返回一个布尔值
        console.log(reg.test('abc'));
 
 <script>
        window.onload = function() {
            var userinput = document.querySelector('#userinput');
            var result = document.querySelector('#result');

            var reg = /abc/;
            var reg = /abc/;

            userinput.oninput = function() {
                // result.innerHTML = reg.test(this.value) ? '通过验证' : '未通过验证';
                result.innerHTML = reg.test(this.value) ? '通过验证' : '未通过验证'; //this.value:指向在文本框中输入的值。
            }
        }
    </script>

 

 
 
字符集
            表示的是一个范围内的字符
            字符集使用 []  表示
            在正则中 一个[] 表示一个字符
            ^ 出现在中括号中 表示的是非

            [abc] 匹配abc中的任意一个字 符
            [abc][abc][ab] 表示匹配 第一个匹配abc中任意一个字符 第二个匹配abc中任意一个字符 第三个匹配ab中任意一个字符
            [^abc][ac] 表示匹配 第一个是非abc 第二个是ac中任意一个字符
            [0-9]  表示匹配一个数字
            [^0-3] 表示不匹配0-3
            [a-z]  表示匹配一个小写字母
            [A-Z]  表示匹配一个大写字母
            [A-z]  表示匹配一个字母   [A-Za-z]
            [A-Za-z0-9_]  // 表示匹配 字母 数字 下划线
 
 预定义字符集
            预先设置好的字符集

            \d  匹配一个数字 [0-9]
            \D  匹配一个非数字 [^0-9]
            \w  匹配数字字母下划线 [A-z0-9_]
            \W  匹配非数字字母下划线 [^A-z0-9_]
            \s  匹配一个空白符 (空格、制表符)
            \S  匹配一个非空白符
            .   匹配一个除回车换(\r\n)行外的任意字符
 
           匹配数量
            n?  匹配0次或1次字符n
            n*  匹配0次或多次字符n
            n+  匹配1次或多次字符n
            n{x} 匹配x次字符n
            n{x,y} 匹配x至y次字符n
            n{x,}  匹配至少x次字符n
 
            匹配边界
            正则表达式 需要验证表单信息时 会设置匹配的边界
            ^ 表示 匹配的左边界(开始)
            $ 表示 匹配的有边界(结束)
posted @ 2021-05-31 22:44  逝去的日子1017  阅读(356)  评论(0)    收藏  举报