javascript,正则来看看,为什么匹配不上?

functiontest(num){console.log(num);varreg=newRegExp(/^(\d{4})(?=\d)$/,"g");//这个正则匹配数字... function test(num) {
console.log(num);
var reg=new RegExp(/^(\d{4})(?=\d)$/,"g"); //这个正则匹配数字开头,数字结尾,前面括号匹配四个数字,后面括号断言出现数字就匹配,以数字开头结尾肯定的啊,为什么加了 $ 就匹配不上?求解答

return reg.test(num);

}
console.log(test(23456789)); //false 匹配不上?这个号码确实数字开头数字结尾
展开
 我来答
gj591851
2016-06-22 · TA获得超过131个赞
知道小有建树答主
回答量:94
采纳率:100%
帮助的人:85.8万
展开全部
(?=\d)只是要求(\d{4})的右侧必须是数字,并不会匹配任何内容,若后面不是数字,则直接返回false了,若后面是数字则接着匹配,而在(?=\d)后面跟的$意味着匹配结束,所以这个表达式无论匹配什么都是false。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式