为了账号安全,请及时绑定邮箱和手机立即绑定

JS里正则表达式一直返回false

JS里正则表达式一直返回false

当年话下 2019-02-04 18:18:55
var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, str = '411432199911112020'; if(!pattern.test(str)){    console.log(pattern);    alert('身份证输入错误')} //这个时候发现打印出来的pattern是: /(^\d15$)|(^\d18$)|(^\d17(\d|X|x)$)/, //正则表达式里的{}花括号都被删掉了。 //百度时候看到一条[相关文章][1] //原题主说是一个dtcms生成模板时将花括号都删掉了。 求解决办法
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

你写的这段代码如果是放在JS文件中或者浏览器开发者工具中执行,打印出的pattern都是正常的。 问题描述中说 console.log打印出的pattern中的花括号没了,严重怀疑是这段代码写在了某视图引擎中,大括号在这个对应的视图引擎中有特殊意义,比如输出变量,{15}直接输出常量15,看起来让人觉得大括号消失了。

查看完整回答
反对 回复 2019-02-21
  • 1 回答
  • 0 关注
  • 472 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信