首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prettier删除Angular中的转义字符

Prettier删除Angular中的转义字符
EN

Stack Overflow用户
提问于 2020-05-28 23:03:00
回答 1查看 345关注 0票数 1

我在我的Angular项目中使用了Prettier,并尝试为表单验证器包含一个正则表达式模式。当我运行更漂亮的程序时,字符串发生了根本性的改变,使得模式验证功能失调,如下所示:

之前:

代码语言:javascript
复制
export const EmailVal: ScaffoldValidator = PatternVal(
  "/^[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9}$/"
);

之后:

代码语言:javascript
复制
export const EmailVal: ScaffoldValidator = PatternVal(
  "/^[0-9a-zA-Z]([-.w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-w]*[0-9a-zA-Z].)+[a-zA-Z]{2,9}$/"
);

我已经看过了更漂亮的文档,其中谈到了在单引号和双引号的上下文中更改转义,但断言其他转义将保持不变。我也浏览了我的tsLint.json,没有任何东西能作为我的源码。它确实将"Codelyzer“表示为规则集。有没有我可以禁用的设置来防止这种行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-28 23:12:35

您可以直接使用正则表达式(注意:没有引号-只有斜杠):

代码语言:javascript
复制
/^[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9}$/;

或者更正字符串转义(注意双反斜杠):

代码语言:javascript
复制
"/^[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z_+])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9}$/";
                  ^^                                 ^^              ^^  

考虑使用EsLint -它可以警告您以下情况(请参阅no-useless-escape rule):

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

https://stackoverflow.com/questions/62067961

复制
相关文章

相似问题

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