RegEx模式只匹配某些字符

RHP*_*HPT 25 javascript regex

我是RegEx的新手,这个特殊的问题令我感到沮丧.这适用于JavaScript函数.

我需要验证输入,以便它只匹配此条件:

  • 字母AZ(大写和小写)
  • 数字0-9
  • 以下附加字符:空格,句点(.),逗号(,),加号(+)和短划线( - )

我可以很容易地为前两个标准编写一个模式,但第三个标准更难.这是我管理的最后一个模式,但它似乎不适用于测试字符串Farh%%$$+++,

任何帮助将不胜感激.

谢谢.

Mit*_*ers 37

我刚刚测试了它,它似乎至少从我的第一轮测试开始.

^[a-zA-Z 0-9\.\,\+\-]*$
Run Code Online (Sandbox Code Playgroud)

  • 除了它匹配一个空字符串(和制表符)之外,您无需转义任何这些字符 (2认同)

Asa*_*aph 10

短划线必须是第一个,以便不被解释为范围分隔符.此外,请确保分别在开头和结尾使用^和$锚定正则表达式,以便整个测试字符串被正则表达式吞噬.

/^[-+., A-Za-z0-9]+$/
Run Code Online (Sandbox Code Playgroud)

  • 破折号也可以出现在字符范围的末尾或字符范围之间,以免被解释为范围分隔符:[[a-z0-9-]`和[[az-0-9]]也是有效的表达式。 (2认同)