我的要求是:
- 一个大写字符,
- 一个小写字符,
- 一个特殊字符,
- 一个数字,
- 最少 8 个字符,
- 最多 15 个字符。
我的正则表达式是:
^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*]).{8,15}$
它接受除$
、*
、^
之外的所有字符。
= f.password_field: password, placeholder: "Password",:required=>'true',:class => "form-control password_text form-control",pattern:",:title=>'Min 8letters, one uppercase, lowercase letter, onedigit, one specialcharacter',:onchange => "form.confirm_pwd.pattern = this.value;"
= f.password_field: password_confirmation, placeholder: "Password",:class => "form-control form-control password_text",:required=>'true',title:"Please enter the same Password as above",:name=>'confirm_pwd'
当我包含 $
并提交时,*
和 ^
显示“输入与上面相同的密码” 在确认密码字段中。如果我包含 #
或其他特殊字符,它运行良好。
最佳答案
:onchange => "form.confirm_pwd.pattern =~ this.value;"
关于javascript - 为什么 HTML5 模式属性中密码的有效正则表达式不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45994710/