正则表达式

2022-01-05  本文已影响0人  前端许

<!-- 正则表达式是用来校验字符串 -->

<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/; */

        /* 空字符串不能作为正常的匹配项 */

        let flag = reg.test('')

        alert(flag)

        /* \d 匹配数字 */

        let reg =/\d/;

        /* \D 匹配非数字 */

        let reg =/\D/;

        let flag = reg.test('123123')

        alert(flag)

        /* \s  匹配空白字符(空格、换行\n 回车\r) */

        let reg =/\s/;

        /* \S 匹配非空白字符(除了空白,或者全是空格,都返回true) */

        let reg =/\S/;

        /* \n 匹配换行符 */

        let reg =/\n/;

        let flag = reg.test('\n');

        alert(flag)

        /* 常用的限定符 */

        // *  匹配的前面的子表达式零次或多次/[a-z]*/字母出现与否都为true

        let reg = /\d*/;

        // +  匹配的前面的子表达式一次或多次/[a-z]+/为true字母至少出现一次

        let reg = /\d+/;

        /*

        ? 匹配前面的子表达式零次或一次/[a-z]?/字母出现0或1次都为true

正则有个特性只要匹配了一次都返回true,所以要加限定字符^$

        */

        /* ^表示以什么开头 $以什么结尾 */

        let reg = /^\d?$/;

        let flag = reg.test('12');

        alert(flag)

        /* {n} 匹配确定的 n 次 /^\d{2}$/ 要加限定字符,否则2次以上也为true*/

        let reg = /^\d{2}$/;

        let flag = reg.test('12')

        alert(flag)

        /* {n,} 至少匹配n 次  /^[a-z]{2,}$/  */

        let reg = /^\d{2,}$/;

        let flag = reg.test('12')

        alert(flag)

        /* {n,m} 最少匹配 n 次且最多匹配 m 次 /^[a-z]{2,3}$/*/

        let reg = /^\d{2,4}$/;

        let flag = reg.test('1233')

        alert(flag)

</script>

上一篇 下一篇

猜你喜欢

热点阅读