谁能给我解释一下这条js正则表达式
展开全部
这是一个匹配数字串类似"1 234-567-8901"或者"(234)5678901"或者"(234) 567 8901"的正则表达式
?表示匹配前面的元字符0次或1次
1?表示匹配1 0次或1次 也就是有1或者没有1
?表示匹配空格0次或1次也就是有空格或者没有空格
[ -]?表示匹配空格或者"-"字符0次或1次也就是有空格或"-"或者没有空格或"-"
\d{3}表示3位0-9的数字 例如 123
\d{4}表示4位0-9的数字 例如 1234
(\d{3}|\(\d{3}\))表示3位0-9的数字或者带小括号的3位0-9数字 例如 123或者(123)
我给你个Javascript匹配的例子,你看看吧
<script type=text/javascript>
var str="(234) 567 8901";
var regex=/^1? ?(\d{3}|\(\d{3}\))[ -]?\d{3}[ -]?\d{4}$/;
var a=regex.test(str);
alert(a);
</script>
运行结果
true
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询