正则表达式中的转义字符和量词

本文深入解析了正则表达式的各种元素,包括转义字符、量词、边界匹配等核心概念,通过实例演示如何使用正则进行精确的文本匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转义字符

用反斜杠"\"表示转义。

	var str = "abc";
    var reg = /a.c/;
    var reg2 = /a\.c/;
    console.log(reg.test(str));     //true(.表示任何字符)
    console.log(reg2.test(str));    //false(.经过转义变成了普通的点)

\s:匹配空格

\S:匹配非空格

\d:匹配数字

\D:匹配非数字

\w:匹配字母、数字、下划线

\W:匹配非字母、数字、下划线

\1、\2:\1表示重复第一个子项,\2表示重复第二个子项……

	var str = "ab";
    var reg = /(\w)(\w)/;
    var reg2 = /(\w)\1/;
    console.log(reg.test(str));     //true
    console.log(reg2.test(str));    //false

\b:表示单词边界,匹配一个位置,这个位置需要满足以下两个条件

​ 1 一边是字母、数字或下划线
​ 2 另一边是开始位置、结束位置或非字母、数字、下划线

	var str = "hello";
    var reg = /\bhe/;
    var reg2 = /he\b/;
    console.log(reg.test(str));     //true
    console.log(reg2.test(str));    //false

\B与之相反


量词

"+"表示出现一次或多次(>=1),也可表示为{1,}。

"?"表示出现0次或者1次,也可表示为{0}{1}。

"*"表示出现0次或多次,也可表示为{0,}。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>QQ号码验证</title>
</head>
<body>
    <input type="text"  id="ipt" placeholder="请输入您的QQ号码">
    <script>
        /*
        * QQ号码验证
        * 规则:大于等于5位,都是数字
        * */
        var oIpt = document.getElementById("ipt");
        //onblur失去焦点时间
        oIpt.onblur = function () {
            //拿到input中的字符串
            var valueStr = oIpt.value;

            // ^在[]外面表示以…开头,在[]里面表示非
            // $表示以…结尾
            var reg = /^[1-9]\d{4,}$/;
            if (reg.test(valueStr)) {
                alert("验证成功,可以登陆!")
            }else {
                alert("你输入的QQ号码不合法!");
            }
        }
    </script>
</body>
</html>
正则中的默认规则

​ 1 区分大小写,若要不区分大小写,在正则最后加上i。

​ 2 匹配成功就结束,不再继续匹配,若要全局匹配,在最后加上g。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值