jquery - Jquery验证方法字母,数字和特殊字符
问题描述
我正在使用 jquery validate 来验证我的密码字段。我想要的是:
1) 密码必须至少包含一个大写字母
2) 密码必须至少包含一个小写字母
3) 密码必须至少包含一位数字
4) 并且只允许特殊字符( !@#$%&* )
这是我尝试过的,但即使我输入一个大写和一个数字,它也在验证:
$.validator.addMethod("letters_numbers_special", function(value, element) {
return this.optional(element) || /^(?:[a-zA-Z]|[a-zA-Z])[a-z0-9#$@!]+$/i.test(value);
//(?=.*[a-zA-Z\d].*)[a-zA-Z\d!@#$%&*]
}, "");
解决方案
在下面的两种模式中,前瞻确保字符串中至少有一个小写字母、一个大写字母和一个数字。
- 如果不需要但允许使用特殊字符,您可以使用以下模式。
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9!@#$%&*]+$
比赛:
Gpa1
abc01A
不匹配:
donotmatchME!
apple2000@
- 如果您还需要至少一个特殊字符,则可以使用以下模式:
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*])[a-zA-Z0-9!@#$%&*]+$
比赛:
Matchme2018!
regexIScool1!
不匹配:
donotmatchME!
apple2000@
Gpa1
abc01A
推荐阅读
- jquery - jQuery $(this) 正确隐藏/显示元素
- java - 控制器端点命名约定
- c# - MVC 错误 - 处理请求时发生未处理的异常。InvalidOperationException:模型通过
- cucumber - [Cucumber][Execution]如何将特定场景大纲作为套件中的最后一个脚本运行
- javascript - 如何在 excel Web 插件中获取当前 excel 文件的 base 64 字符串或字节数据?
- jestjs - SpyOn 的玩笑测试
- maven - 在 IntelliJ 运行配置中指定 maven 插件执行 ID
- python - 如何在 python 上正确安装 SVM-Light?
- c++ - QMediaPlayer::position() 返回零
- laravel - Laravel Composer 开发包