禁用不必要的转义字符:\+
Disable Unnecessary escape character: \+
我有这个正则表达式可以验证 phone 号码(即 +1 (417) 230-0718)。使用此正则表达式 /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
,我在 运行 下一个关于不必要的转义字符的测试用例中遇到了错误:+。如何禁用此 eslint-error 以便我继续我的测试用例并使用正则表达式。
感谢您的帮助!
这是解决这个问题的正确方法。
/^[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/im
您的示例 phone 数字与您的原始正则表达式不匹配,并且包含多个不必要的转义。
首先回答你最初的问题:在 []
部分,你不需要转义字符 - 唯一具有特殊含义的字符是 ^
,而且它也只有作为 []
中的第一个字符具有特殊含义,因此您可以将其放得更远。此外,您不需要 []
只有一个字符 - 那么转义版本更好。
在您的正则表达式旁边与您的示例 phone 号码不匹配:
您在开头的 + 号后缺少国际前缀。
我会将您的正则表达式重写为以下内容:
/^(?:\+\d{1,3}[-\s.]?)?\(?[0-9]{3}\)?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/m
您不需要 i 标志,因为没有 upper/lower 大小写数字。
此更新后的正则表达式允许可选的 1 到 3 位国际前缀,但必须以 +
开头
我有这个正则表达式可以验证 phone 号码(即 +1 (417) 230-0718)。使用此正则表达式 /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
,我在 运行 下一个关于不必要的转义字符的测试用例中遇到了错误:+。如何禁用此 eslint-error 以便我继续我的测试用例并使用正则表达式。
感谢您的帮助!
这是解决这个问题的正确方法。
/^[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/im
您的示例 phone 数字与您的原始正则表达式不匹配,并且包含多个不必要的转义。
首先回答你最初的问题:在 []
部分,你不需要转义字符 - 唯一具有特殊含义的字符是 ^
,而且它也只有作为 []
中的第一个字符具有特殊含义,因此您可以将其放得更远。此外,您不需要 []
只有一个字符 - 那么转义版本更好。
在您的正则表达式旁边与您的示例 phone 号码不匹配: 您在开头的 + 号后缺少国际前缀。
我会将您的正则表达式重写为以下内容:
/^(?:\+\d{1,3}[-\s.]?)?\(?[0-9]{3}\)?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/m
您不需要 i 标志,因为没有 upper/lower 大小写数字。
此更新后的正则表达式允许可选的 1 到 3 位国际前缀,但必须以 +