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})$/;
答案 0 :(得分:4)
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,}))$/;
答案 1 :(得分:0)
在javascript中创建正则表达式时,放置在字符类中的字符,这意味着[...]中的不需要转义,除了以下字符:右括号[],反斜杠\,脱字符^和连字符-
出现eslint警告的唯一原因只是为了提高可读性,因此您的正则表达式仍然可以正常工作。