老师,请您看下代码
来源:2-11 编程练习
Cassiel751696
2021-11-08 17:23:16
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>正则表达式</title>
</head>
<body>
<script>
// 请验证某一个字符串中,是否是6位的字母、数字和下划线的组合,且最后一位不能是数字0。
var str8="ab_2r1"
var str9="ab_2r0"
var str10="ab_20"
var regexp=/^\w{5}[^0]$/;
console.log(regexp.test(str8));// true
console.log(regexp.test(str9));// false
console.log(regexp.test(str10));// false
</script>
</body>
</html>
1回答
好帮手慕慕子
2021-11-08
同学你好,由于[^0]表示匹配除0之外的任意字符,导致字符串的最后一位是等于号等或者其他符号也可以通过验证,如下:
不满足字母、数字和下划线的组合这个条件。
建议修改:约束最后一位“只能是数字、字母、下划线,并且不是0”:
完整正则书写如下:
/^\w{5}[1-9a-zA-Z_]$/
祝学习愉快~
相似问题