java script 校验验证码
文件里面的是错的,用这个。 function validate(str){ str = str.value; var numberCount = 0; var upperCaseCount = 0; var lowerCaseCount = 0; var otherCharCount = 0; var numberIndex = 0; var upperCaseIndex = 0; var lowerCaseIndex = 0; var otherCharIndex = 0; for (var i = 0; i < str.length; i++) { var temp = str.charAt(i).charCodeAt(); if (temp >= 48 && temp <= 57) { numberIndex = i; numberCount++; }else if(temp >= 65 && temp <= 90){ upperCaseIndex = i; upperCaseCount++; }else if(temp >= 97 && temp <= 122){ lowerCaseIndex = i; lowerCaseCount++; }else{ otherCharIndex = i; otherCharCount++; } } if (numberCount == 0 || (numberCount == 1 && (numberIndex == 0 || numberIndex == str.length-1 ))) { return false; } if (upperCaseCount == 0 || (upperCaseCount == 1 && (upperCaseIndex == 0 || upperCaseIndex == str.length-1 ))) { return false; } if (lowerCaseCount == 0 || (lowerCaseCount == 1 && (lowerCaseIndex == 0 || lowerCaseIndex == str.length-1 ))) { return false; } if (otherCharCount == 0 || (otherCharCount == 1 && (otherCharIndex == 0 || otherCharIndex == str.length-1 ))) { return false; } var reg=/^\w{8,31}$/; var sup=/[A-Z]{1}?/g; var low=/[a-z]{1}?/g; var num=/[0-9][1]?/g; var arr; if(str.match(reg)){ arr=str.match(sup); if(arr && arr.length==1) { return (!str.substr(0,1).match(sup) && !str.substr(str.length-1,str.length).match(sup)) } arr=str.match(low); if(arr && arr.length==1) { return (!str.substr(0,1).match(low) && !str.substr(str.length-1,str.length).match(low)) } arr=str.match(num); if(arr && arr.length==1) { return (!str.substr(0,1).match(num) && !str.substr(str.length-1,str.length).match(num)) } for(var i=0;i<str.length/2;i++){ if(str.split(str.substr(0,i+1)).join('')==''){ return false; } } return true; } return false; }