谁能给我解释一下这条js正则表达式

/^1??(\d{3}|\(\d{3}\))[-]?\d{3}[-]?\d{4}$/;... /^1? ?(\d{3}|\(\d{3}\))[ -]?\d{3}[ -]?\d{4}$/; 展开
 我来答
紫薇参星
科技发烧友

2017-01-06 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3603万
展开全部

这是一个匹配数字串类似"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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式