javascript正则表达式的特殊字符

Alo*_*lon 32 javascript regex

我正在尝试为密码字段创建验证,该字段仅允许a-zA-Z0-9字符和.!@#$%^&*()_+-=

我似乎无法掌握它.

使用时有什么区别,需要转出regex = /a-zA-Z0-9/g and regex = /[a-zA-Z0-9]/哪些字符.!@#$%^&*()_+-=

我现在尝试的是:

var regex = /a-zA-Z0-9!@#\$%\^\&*\)\(+=._-/g
Run Code Online (Sandbox Code Playgroud)

但没有成功

Ed *_*eal 47

var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]+$/g
Run Code Online (Sandbox Code Playgroud)

应该管用

也可能想要最小长度,即6个字符

var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]{6,}$/g
Run Code Online (Sandbox Code Playgroud)

  • 逗号失败不是特殊字符吗?`var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]+$/g; regex.test('快乐,'); ` 提供错误参考 https://tools.oratory.com/altcodes.html (2认同)

小智 12

一种与特殊字符匹配的简单方法:

/\W|_/g
Run Code Online (Sandbox Code Playgroud)

\ W匹配任何不是单词字符的字符(字母数字和下划线).

下划线被认为是一个特殊字符,因此添加布尔值以匹配特殊字符或_

  • 少即是多!真棒解决方案:) (3认同)
  • 在这种情况下,像“ñ”这样的字符也被认为是特殊的,所以要小心 (3认同)
  • 请注意:这也将匹配任何非拉丁字符。 (2认同)

Ber*_*rgi 10

有什么不同?

/[a-zA-Z0-9]/是一个字符类,它匹配中的一个字符.它由三个范围组成.

/a-zA-Z0-9/ 确实意味着这9个字符的字面顺序.

哪些字符.!@#$%^&*()_+-=需要被转义?

在一个字符类中,只有减号(如果不是在最后)和抑扬符(如果在开头).在charclass之外,.$^*+()有一个特殊的含义,需要转义才能完全匹配.

只允许a-zA-Z0-9字符和.!@#$%^&*()_+-=

然后将它们放入一个字符类中,让它们重复并要求通过锚点将整个字符串与它们匹配:

var regex = /^[a-zA-Z0-9!@#$%\^&*)(+=._-]*$/
Run Code Online (Sandbox Code Playgroud)


Per*_*ack 9

您可以通过测试无效字符来具体说明。对于非字母数字和空格的任何内容,这将返回 true:

var specials = /[^A-Za-z 0-9]/g;
return specials.test(input.val());
Run Code Online (Sandbox Code Playgroud)


Rah*_*thi 6

这个怎么样:-

var regularExpression = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,}$/;
Run Code Online (Sandbox Code Playgroud)

它将允许至少6个字符,包括数字,字母和特殊字符


San*_*ngh 5

以上书面正则表达式存在一些问题。

这很完美。

^[a-zA-Z\d\-_.,\s]+$
Run Code Online (Sandbox Code Playgroud)

此处仅包含允许的特殊字符,并且可以在逗号后扩展。


Ani*_*nia 5

// Regex for special symbols

var regex_symbols= /[-!$%^&*()_+|~=`{}\[\]:\/;<>?,.@#]/;
Run Code Online (Sandbox Code Playgroud)


Sha*_*ani 5

完整的特殊字符集:

/[\!\@\#\$\%\^\&\*\)\(\+\=\.\<\>\{\}\[\]\:\;\'\"\|\~\`\_\-]/g
Run Code Online (Sandbox Code Playgroud)

回答你的问题:

var regular_expression = /^[A-Za-z0-9\!\@\#\$\%\^\&\*\)\(+\=\._-]+$/g
Run Code Online (Sandbox Code Playgroud)