试着编写一个只匹配数字,空格,括号,+和 - 的正则表达式

Jas*_*son 1 javascript regex validation

我正在尝试写一个常规,检查数字,空格,括号,+和 - 这是我到目前为止:

/\d|\s|\-|\)|\(|\+/g
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:无法匹配)在正则表达式中任何建议都会有所帮助.谢谢

pol*_*nts 8

使用字符类:

/[\d\s()+-]/g
Run Code Online (Sandbox Code Playgroud)

如果它是数字\d,空格\s,文字(,文字),文字+或文字,则匹配单个字符-.将-最后一个放在一个字符类中是一种简单的方法,使它成为一个文字-; 否则它可能成为范围定义元字符(例如[A-Z]).

一般而言,不是一次匹配一个字符作为替代(例如a|e|i|o|u),而是使用字符类(例如[aeiou])更可读.它更简洁,更易读,并且自然地将字符组合在一起,因此您可以例如[aeiou]+匹配一系列元音.

参考


警告

初学者有时会误认为字符类匹配[a|e|i|o|u],或者更糟[this|that].这是错的.字符类本身匹配输入中的一个且恰好一个字符.

相关问题