老师,请您看下代码

来源: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之外的任意字符,导致字符串的最后一位是等于号等或者其他符号也可以通过验证,如下:

https://img.mukewang.com/climg/6188f10409f3fc3414050384.jpg

不满足字母、数字和下划线的组合这个条件。

建议修改:约束最后一位“只能是数字、字母、下划线,并且不是0”:

https://img.mukewang.com/climg/6188f1510954701405270134.jpg

完整正则书写如下:

/^\w{5}[1-9a-zA-Z_]$/

祝学习愉快~

1

0 学习 · 17877 问题

查看课程