第一种 使用直接正则判断
var re = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/
第二种 正则加逻辑判断
<input type="text" id="input" onkeydown="checkInput(event)">
<script>
function checkInput(e) {
if (e.keyCode == 13){
var val = document.getElementById("input").value;//获取值
Object.vcheckData(val);//调用检查方法
}
}
Object.prototype.checkData = function(obj) {
var reSpace = /\s/g;
if (reSpace.test(obj)){
console.log("密码不能包括空格");
return;
}
var reUpper = /[A-Z]/;
var reLower = /[a-z]/;
var reNum = /[0-9]/;
var count = 0;
if (reLower.test(obj)) {
++count;
}
if (reUpper.test(obj)) {
++count;
}
if (reNum.test(obj)) {
++count;
}
if (count < 3) {
console.log("包含大小写字母,数字且不能包含空格");//可以直接return false或者true
} else if (obj.length < 6) {
console.log("密码长度至少6位");
} else if (obj.length > 16) {
console.log("密码长度最高16位");
} else {
console.log("成功");
}
}