Javascript:验证大小写
javascript : validate upper case and lower case
在检查大小写时是否有选项验证最小2小写和2大写 ?下面是我使用的条件。
function HasMixedCase(passwd){
if(passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/))
return true;
else
return false;
}
演示:http://jsfiddle.net/Ku4mg/
根据plalx的评论编辑:
var m;
if( !(m = passwd.match(/[a-z]/g)) || m.length < 2) return false;
if( !(m = passwd.match(/[A-Z]/g)) || m.length < 2) return false;
return true;
试图在单个regex中做太多事情会导致灾难,最常见的结果是灾难性的回溯。
同样,一次只做一件事会使你的代码更具可读性。
虽然@NietTheDarkAbsol的回答显示了一种完全有效的方式,但我建议您避免在函数中做太多事情。不要害怕将逻辑分割成多个可维护的函数。
function textCaseStats(text) {
return {
upper: (text.match(/[a-z]/g) || []).length,
lower: (text.match(/[A-Z]/g) || []).length
};
}
function hasMixedCase(password) {
var caseStats = textCaseStats(password);
return caseStats.lower >= 2 && caseStats.upper >= 2;
}
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- jQuery自定义验证比较多个输入的序列
- 使用html中的外部javascript进行数据验证
- 如何使用jquery Validation验证Formspread
- jquery中的文本框验证
- 在验证和发送邮件后更改联系人表单的 html
- 代码不会验证
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- JS验证ajax返回的html中的表单数据
- 同步调用,直到用户通过angular验证为访问者
- 带有加号的电话号码验证(可选)
- 解析javascript表单验证器
- 两位数的月份日期验证
- 更简洁的非区分大小写的测验验证
- 登录表单中的密码验证区分大小写
- Javascript 电子邮件验证,我希望电子邮件 ID 中的.com不区分大小写
- Javascript:验证大小写
- jQuery验证插件regex不区分大小写
- 验证图像扩展大小写