问题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>