正则表达式

64 阅读1分钟
<!DOCTYPE html>
<html>

<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>Document</title>
</head>

<body>
    <!-- 正则表达式是用来校验字符串的 -->
    <script>
        /* 构造函数 */
        // var reg = new RegExp(/[a-z]/,'i');
        /* 字面量 */
        // var reg = /[A-Z]/i;
        /*
            修饰符
            i 执行对大小写不敏感的匹配
            g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
         */
        /* var reg = /[a-z]/; */
        /* ☆字符中只要有一个符合要求即为true */
        /*  alert(reg.test('123456a')) */

        /* [a-z]	查找任何从小写 a 到小写 z 的字符 */
        /*   alert(/[a-z]/.test('A')); */
        /* [A-Z]	查找任何从大写 A 到大写 Z 的字符 */
        /* alert(/[A-Z]/i.test('a')); */
        /* 26个字母(包括大小写) */
    //    console.log(/[a-zA-Z]/.test('A'))
        /* [0-9]	查找任何从 0 至 9 的数字(包括边界值) */
        /* console.log(/[0-9]/.test('0')) */
        /* [abc]	查找括号内的任意一个字符 */
        // console.log(/[abc]/.test('a'))
        /* [^abc]	查找除了括号内的任意字符 */
        /* console.log(/[^abc]/.test('123')) */
        /* ^在[]内部为取反的意思,但是在外部是以什么开头的意思 */
        /* 因为[abc]是任意一个字符符合要求即可 */
        // console.log(/^[abc]/.test('c123123'))

        /* 常用的元字符(特殊字符) */
        /* \w	匹配数字、字母、下划线 */
        /* let reg = /\w/; */
        /* \W	匹配非数字、字母、下划线 */
        // let reg = /\W/;
        // /* 空字符串不能作为正常的匹配项 */

        /* \d	匹配数字 */
        // let reg = /\d/;
        /* \D	匹配非数字 */
        // let reg = /\D/;
        /* \s	匹配空白字符(空格 、换行\n 回车\r) */
        /* let reg = /\s/; */
        /* \S	匹配非空白字符 (除了空白,或者全是空格,都返回true) */
        /* let reg = /\S/; */
        /* \n	匹配换行符 */


        /* 常用的限定符 */

        // *	匹配前面的子表达式零次或多次 /[a-z]*/ 字母出现与否都为true
        // let reg = /\d*/;
        /* +	匹配前面的子表达式一次或多次/[a-z]+/ 为true字母至少出现一次 */
        // let reg = /\d+/;
        /* 
            ?	匹配前面的子表达式零次或一次/[a-z]?/字母出现0或1次都为true
正则有个特性只要匹配了一次都返回true,所以要加限定字符^$
        */
       /* ^表示以什么开头 $以什么结尾 */
       /* {n}	匹配确定的 n 次 /^\d{2}$/ 要加限定字符,否则2次以上也为true */
       /* {n,}	至少匹配n 次  /^[a-z]{2,}$/  */
       /* {n,m}	最少匹配 n 次且最多匹配 m 次 /^[a-z]{2,3}$/  */
       /*  let reg = /^\d{2,4}$/; */
        let flag = reg.test('12333');
        alert(flag)
    </script>
</body>

</html>