Javascript: 使用正则表达式判断字符串是否符合要求

该文通过三个示例展示了正则表达式在检查不同格式字符串中的作用:1)验证3位数-3位数-3位数的快递单号;2)判断□□□-□□□-□□□格式的验证码,其中□可为数字、字母或下划线;3)检查123.45^67#89形式的产品单号。每个示例中,正则表达式用于确保字符串符合特定的格式要求。

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

问题1

使用正则表达式检查快递单号是否符合要求,快递单号的形式:3个数字+“-” +3个数字+“-”+3个数字
例如:123-456-789

代码

<!DOCTYPE html>
<html lang="en">
<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 str1 = "123-456-789";
        var str2 = "123-456-789abc";
        // 正则表达式:3个数字-3个数字-3个数字
        var regexp = /^\d{3}-\d{3}-\d{3}$/;
        // 结果
        console.log(regexp.test(str1))
        console.log(regexp.test(str2))

    </script>
</body>
</html>

分析

var regexp = /^\d{3}-\d{3}-\d{3}$/;

(1)/ 正则表达式 /://里面是正则表达式的内容
(2)^:表示字符串的开头
(3)$: 表示字符串的结尾
(4)\d{3} :表示3位数字,也可以表示为:\d\d\d

结果

在这里插入图片描述

问题2

某产品的验证码形式如下:□□□-□□□-□□□,其中□表示数字、字母或下划线。判断输入的字符串是否符合要求。

元字符

元字符是指一位指定类型的字符
在这里插入图片描述

代码

<!DOCTYPE html>
<html lang="en">
<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 str1 = "123-456-789";
        var str2 = "123-456-abc";
        var str3 = "_12-4fg-h7_"
        // 正则表达式
        var regexp = /^\w{3}-\w{3}-\w{3}$/;
        // 结果
        console.log(regexp.test(str1))
        console.log(regexp.test(str2))
        console.log(regexp.test(str3))

    </script>

</body>
</html>

结果

在这里插入图片描述

问题3

某产品的单号形式为:123.45^67#89,用正则表达式判断输入的单号是否符合格式要求

知识拓展

在一个符号前面加上反斜杠\,可以确保表达的是符号本身

分析

由于^ 和.属于元字符,因此得加上放斜杠\确保表达的是符号本身

代码

<!DOCTYPE html>
<html lang="en">
<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 str1 = "863.23^67#89";
        var str2 = "123-456-abc";
        var str3 = "_12-4fg-h7_"
        // 正则表达式
        var regexp = /^\d{3}\.\d{2}\^\d{2}#\d{2}$/;
       
        // 结果
        console.log(regexp.test(str1))
        console.log(regexp.test(str2))
        console.log(regexp.test(str3))

    </script>
    
</body>
</html>

结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值