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})$/;
像@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,}))$/;
在javascript中创建正则表达式时,放置在字符类中的字符(即[...]内部)不需要转义,除了以下字符:结束括号],反斜杠\,插入符号^和连字符 -
出现eslint警告的唯一原因只是为了提高可读性,因此你的常规表达式仍应正常工作。