正则表达式限制某些字符

时间:2017-10-15 17:30:38

标签: javascript c# regex

是否有人可以帮我提出限制这些字符!@#$%^&*()_-的正则表达式?这里的大部分帖子和google引导我使用正则表达式,允许使用一组规定的字符,而且我似乎没有多少运气可以提供给我自己。

提前致谢。

编辑: 经过一些尝试后,似乎工作,所以没有进一步的帮助:

"Has restricted-characters_?".replace(/^\!|\@|\#|\$|\%|\^|\&|\*|\‌​(|\)|\_|\-|`|\?/, " ")

2 个答案:

答案 0 :(得分:1)

rgx = (/[\^!@#$%^&*()_?-]/g);
test = str => console.log(str ,str.match(rgx))

test('qwerty')
test('!qwerty')
test('q@werty')
test('qw#erty')
test('qwer$ty')
test('qwert%y')
test('qwerty^')
test('qwertyq&werty')
test('qwertyqwe*rty')
test('qwertyqwert(y')
test('qwertyqwerty)')
test('qwertyqwertyq_wertyqwerty')
test('qwertyqwertyqwe?rtyqwerty')
test('qwertyqwertyqwert-yqwerty')

答案 1 :(得分:0)

[^!@#$%^&*()_?-] 

将为所有角色做。您必须将它们放在 [] 中,前面加上 ^

请注意使用 \ (例如:[^!@#$%^& * \ - ()_?])转义 - 或将 - 最后。

这很有效,你可以在这里试试,

https://regexr.com/