JS ling不必要的逃脱角色:\ [无用 - 逃脱

问题描述 投票:2回答:2

JSlint抱怨不必要的转义字符,但我似乎无法弄清楚为什么。这是我的正则表达式,任何想法?

不必要的逃脱性格:[无用的逃脱

const _emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

const _phoneRegex = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
javascript regex ecmascript-6 jslint
2个回答
4
投票

像@gyre说,需要删除一对夫妇。

const _emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

0
投票

在javascript中创建正则表达式时,放置在字符类中的字符(即[...]内部)不需要转义,除了以下字符:结束括号],反斜杠\,插入符号^和连字符 -

出现eslint警告的唯一原因只是为了提高可读性,因此你的常规表达式仍应正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.