正则表达式表达式及常用案例

版权声明:转载声明原作者及链接 https://blog.csdn.net/ICY___/article/details/86616617

正则表达式主要用来实现字符匹配,在表单验证中有着很强大,很巧妙的作用,在之后的博客中我会将正则表达式运用到表单验证中,那么,首先了解它的具体语法和常见案例用法吧!

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>正则表达式</title>
    <script>
        // 正则表达式
        //   \n匹配换行   \s匹配任何空白字符  \S匹配任何非空白字符

        // 特殊字符串:
        // $匹配结尾
        // ()匹配的是表达式里面的子表达式
        // *匹配前面的子表达式 0次或多次
        // +匹配前面的子表达式 1次或多次
        // .匹配单字符
        // []匹配表达式的开头和结尾
        // ?匹配前面子表达式0次或1次
        // \匹配特殊字符
        // ^表达式中取反
        // {}限定符
        // |  相当于或


        // 限定符
        // {n} 匹配前面的子表达式n次
        // {n,} 匹配至少nc次
        // {n,m}  最少匹配n次,至多匹配m次
        // \d匹配数字
        // \D匹配非数字


        // 手机号的正则表达式
        var phonenum = /^[1]{1}[3,5,7,8,9]{1}[0-9]{9}$/;
        var my = '123456789';
        alert(my.match(phonenum));//判断结果为当前值或者null
        // 两种验证方式
        var str1 = /[1]{1}[3,5,7,9]{1}[0-9]{9}$/;
        var m = "13333333333";
        alert(str1.test(m));//判断结果为true 或者 false


        //  邮箱的正则表达式
        // 前缀形式
        // 1、 纯数字 123456 @qq.com
        // 2、 纯字母 zhangsan @qq.com
        // 3、 字母数字混合 zhang123 @qq.com
        // 4、 带点的 zhang.san @qq.com
        // 5、 带下划线 zhang_san @qq.com
        // 6、 带连接线 zhang - san @qq.com 
        var email = /^[a-zA-Z\d]+([\.\-\_][a-zA-Z\d]+)*@([a-zA-Z\d]+[\.\-\_])+[a-zA-Z\d]{2,4}$/;
        var mye = '[email protected]';
        alert(mye.match(email));


        // 验证纯数字
        var num = /^\d+$/;
        var number = '123333';
        alert(number.match(num));

        // 正则表达式替换字符串的字符
        var str = 'askasfjfask';
        var now = str.replace(/a/g, 'm');
        alert(now);
        var str2 = '1 2 3 4 5 6 7 8 9 0';
        var now2 = str2.replace(/ /g, '');
        alert(now2);

        // 在字符串里面取值
        var str3 = 'asauiqydoiqwfoi1479';
        var now3 = /\d+/g;
        console.log(str3.match(now3)[0]);

    </script>
</head>

<body>

</body>

</html>

建议在熟练语法后写表达式时,先考虑需求,按照需求分步来写

猜你喜欢

转载自blog.csdn.net/ICY___/article/details/86616617