首页 新闻 搜索 专区 学院

关于正则表达式的问题

0
[已关闭问题] 关闭于 2016-01-06 13:21
var num='(503) 555-1212';
var numTest=/\(?(\d{3})\)?[ -.](\d{3})[ -.](\d{4})/;
var numerp=num.match(numTest);
document.write(numerp+'<br/>');

直接上码,假设用户输出一个电话号码,匹配模式,然后输出。

但最后的输出结果是:(503) 555-1212,503,555,1212

为什么匹配了两遍??

少爷zwx的主页 少爷zwx | 初学一级 | 园豆:159
提问于:2016-01-06 13:14
< >
分享
所有回答(1)
0
document.write(numerp[0]+'<br/>');
dudu | 园豆:38815 (高人七级) | 2016-01-06 13:25

谢了,明白了

支持(0) 反对(0) 少爷zwx | 园豆:159 (初学一级) | 2016-01-06 13:29

还可以这样:

var numTest=/\(?(\d{3})\)?[ -.](\d{3})[ -.](\d{4})/g;

进行全局匹配

支持(0) 反对(0) 少爷zwx | 园豆:159 (初学一级) | 2016-01-06 13:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册