是否有人可以帮我提出限制这些字符!@#$%^&*()_-
的正则表达式?这里的大部分帖子和google引导我使用正则表达式,允许使用一组规定的字符,而且我似乎没有多少运气可以提供给我自己。
提前致谢。
编辑: 经过一些尝试后,似乎工作,所以没有进一步的帮助:
"Has restricted-characters_?".replace(/^\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\_|\-|`|\?/, " ")
答案 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)
[^!@#$%^&*()_?-]
将为所有角色做。您必须将它们放在 [] 中,前面加上 ^ 。
请注意使用 \ (例如:[^!@#$%^& * \ - ()_?])转义 - 或将 - 最后。
这很有效,你可以在这里试试,