密码文本的ng-pattern接受所有特殊字符和数字,字母

时间:2016-12-06 06:43:06

标签: javascript jquery angularjs

HTML

<form novalidate class="css-form">
    username <input type="text" 
    ng-pattern="/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@('@')$!%*#?&])[A-Za-z\d$@('@')$!%*#?&]{8,20}$/" ng-model="user.email" required /><br />
</form>

以上图案适用于以下符号

@ # $ % & ! *

但我想允许所有特殊字符,如

{ } [ ] < > ( ) ^ + - = ; : ' " / \ |

plunkr link

如何在该模式中包含适用于密码的所有特殊字符?

2 个答案:

答案 0 :(得分:2)

使用以下ng-pattern

ng-pattern="/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@('@')$!%*#?&{}[\]<>()^+=;:'&quot;/\\|-])[A-Za-z\d$@('@')$!%*#?&{}[\]<>()^+=;:'&quot;/\\|-]{8,20}$/"

请注意,\]在带有\的字符类中进行转义,双引号表示为&quot; HTML实体。连字符在字符类结束时不需要转义

请参阅updated plunkr

答案 1 :(得分:0)

通过&#34; \&#34;转义特殊符号每个特殊符号前的字符。