首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >模块分析失败:严格模式下的八进制文字,可以在不使用构造函数的情况下使用正则表达式

模块分析失败:严格模式下的八进制文字,可以在不使用构造函数的情况下使用正则表达式
EN

Stack Overflow用户
提问于 2018-12-29 09:23:15
回答 1查看 541关注 0票数 1

我试着把下面的正则表达式放在Angular6中:

代码语言:javascript
运行
复制
const regexp = new RegExp('^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$');

但正如它所暗示的那样,它正在抛出

代码语言:javascript
运行
复制
Module parse failed: Octal literal in strict mode 

根据我所理解的事实,我可以使用\\而不是\来避免这种情况。但是有没有什么即兴的方法可以用Typescript来完成呢?

请给出一个解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-29 09:58:00

使用.test语句进行常规快递对我有帮助,下面是相同的工作代码:

代码语言:javascript
运行
复制
if (/^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/.test(record['dateofbirth'])) {
            this.validated = false;
            this.validatedtext = this.validatedtext + '\n Date of Birth for record no. ' + i + ' is not correctly formatted';
          }

这个链接帮了我大忙:

https://toddmotto.com/understanding-regular-expression-matching-with-test-match-exec-search-and-split/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53965950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档