javascript匹配方法中如何使用一组字符

How to use a set of characters in the javascript match method

如何在javascript match 方法中将以下所有字符作为正则表达式,并对需要转义的字符进行转义?

~!@#$%^&*()_-+={}[]|:;<>,./?和 space

以便 mysstring.match(REGEX) returns 只有当 mysstring 不包含上述任何字符集时才为 null

 "abc".match(REGEX) //should return null
 "abc@".match(REGEX) //should NOT return null (it has @)
 "ab c".match(REGEX) //should NOT return null (it has a space)
 "++abc".match(REGEX) //should NOT return null (it has +)

将字符放在一个集合中,以便正则表达式匹配字符串中的一个字符,该字符是集合中的任何字符。

-]字符在集合中使用需要转义,/字符如果使用正则表达式字面量需要转义:

var REGEX = /[~!@#$%^&*()_\-+={}[\]|:;<>,.\/? ]/;

看来您只想在此处匹配非单词字符。只需使用 \W 进行匹配:

var re = /[\W_]/;
"abc".match(re);
null
"abc@".match(re);
["@"]
"ab c".match(re);
[" "]
"++abc".match(re);
["+"]

这有帮助吗?

var REGEX = /[_\W0-9]/;

此表达式检查任何特殊字符或空格。 ....并且也只为 "abc".match(REGEX)

返回空值