检查一下代码

来源:3-41 编程练习

weixin_慕的地5241954

2019-09-29 17:29:37

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>正则表达式字符串方法</title>
</head>
<body>

<script type="text/javascript">
    var str = '110报警120急救119火警114查询';
    /*此处写代码*/
    // var pattern = /\d{1,}/g;
    var pattern = /\d+/g;
    document.write(str.match(pattern))
</script>
</body>
</html>

var pattern = /\d+/g; 改成var pattern = /\d*/g;  是0次或者多次,为什么打印的数字后面又3个,,,?

写回答

1回答

好帮手慕言

2019-09-29

同学你好,测试同学提供的代码,效果实现的不错。

使用var pattern = /\d*/g这种方式会打印出逗号,是因为*把不符合条件的元素也匹配到了,但是值是个空。

我们来打印一下:

http://img.mukewang.com/climg/5d907fcf09f1650704620098.jpg

控制台:

http://img.mukewang.com/climg/5d907ff5092c660706990066.jpg

因此输入到页面上会显示后面的逗号。

我们再来看一下使用var pattern = /\d+/g;的方式。返回值里面的每一项为匹配到的内容,因此不会有逗号哦

http://img.mukewang.com/climg/5d908046092f988104970111.jpg

控制台:

http://img.mukewang.com/climg/5d9080680980a6a803780143.jpg

如果帮助到了你,欢迎采纳~祝学习愉快~

0

0 学习 · 14456 问题

查看课程