darkfreaks Posted October 1, 2009 Share Posted October 1, 2009 i know this is for PHP regex but im trying to mod jquery regex i am sure its really all the same. however i need the file to only allow underscores and dashes and subtract for any other special character used besides that. // Password strength meter // This jQuery plugin is written by Firas Kassem [2007.04.05] and modified by Amin Rajaee [2009.07.26] // Firas Kassem phiras.wordpress.com || phiras at gmail {dot} com // Amin Rajaee rajaee at gmail (dot) com // for more information : http://phiras.wordpress.com/2007/04/08/password-strength-meter-a-jquery-plugin/ var shortPass = 'Too Short Password' var badPass = 'Week; Use letters & numbers' var goodPass = 'Medium; Use special charecters' var strongPass = 'Strong Password' var sameAsUsername = 'Password is the same as username.' function passwordStrength(password,username) { score = 0 //password < 4 if (password.length < 4 ) { return shortPass } //password == username if (password.toLowerCase() == username.toLowerCase()) return sameAsUsername //password length score += password.length * 4 score += ( checkRepetition(1,password).length - password.length ) * 1 score += ( checkRepetition(2,password).length - password.length ) * 1 score += ( checkRepetition(3,password).length - password.length ) * 1 score += ( checkRepetition(4,password).length - password.length ) * 1 //password has 3 numbers if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) score += 5 //password has 2 sybols if (password.match(/(.*[!,@,#,$,%,^,&,*,?,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) score += 5 //password has Upper and Lower chars if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) score += 10 //password has number and chars if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) score += 15 // //password has number and symbol if (password.match(/([!,@,#,$,%,^,&,*,?,~])/) && password.match(/([0-9])/)) score += 15 //password has char and symbol if (password.match(/([!,@,#,$,%,^,&,*,?,~])/) && password.match(/([a-zA-Z])/)) score += 15 //password is just a nubers or chars if (password.match(/^\w+$/) || password.match(/^\d+$/) ) score -= 10 //verifing 0 < score < 100 if ( score < 0 ) score = 0 if ( score > 100 ) score = 100 if (score < 34 ) return badPass if (score < 68 ) return goodPass return strongPass } function passwordStrengthPercent(password,username) { score = 0 //password < 4 if (password.length < 4 ) { return 0 } //password == username if (password.toLowerCase()==username.toLowerCase()) return 0 //password length score += password.length * 4 score += ( checkRepetition(1,password).length - password.length ) * 1 score += ( checkRepetition(2,password).length - password.length ) * 1 score += ( checkRepetition(3,password).length - password.length ) * 1 score += ( checkRepetition(4,password).length - password.length ) * 1 //password has 3 numbers if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) score += 5 //password has 2 sybols if (password.match(/(.*[!,@,#,$,%,^,&,*,?,~].*[!,@,#,$,%,^,&,*,?,~])/)) score += 5 //password has Upper and Lower chars if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) score += 10 //password has number and chars if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) score += 15 // //password has number and symbol if (password.match(/([!,@,#,$,%,^,&,*,?,~])/) && password.match(/([0-9])/)) score += 15 //password has char and symbol if (password.match(/([!,@,#,$,%,^,&,*,?,~])/) && password.match(/([a-zA-Z])/)) score += 15 //password is just a nubers or chars if (password.match(/^\w+$/) || password.match(/^\d+$/) ) score -= 10 if (score > 100) return 100 return (score) } // checkRepetition(1,'aaaaaaabcbc') = 'abcbc' // checkRepetition(2,'aaaaaaabcbc') = 'aabc' // checkRepetition(2,'aaaaaaabcdbcd') = 'aabcd' function checkRepetition(pLen,str) { res = "" for ( i=0; i<str.length ; i++ ) { repeated=true for (j=0;j < pLen && (j+i+pLen) < str.length;j++) repeated=repeated && (str.charAt(j+i)==str.charAt(j+i+pLen)) if (j<pLen) repeated=false if (repeated) { i+=pLen-1 repeated=false } else { res+=str.charAt(i) } } return res } Quote Link to comment Share on other sites More sharing options...
cags Posted October 1, 2009 Share Posted October 1, 2009 I'm not certain I'm understanding you correctly. Do you mean you wish to allow alphanumerics and _ and - only? If so you could do something like... "/^[0-9A-Za-z_-]*$/" Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted October 1, 2009 Author Share Posted October 1, 2009 i changed characters to allow - and _ only but when i upload it and when it tells me i have a medium password to enter special characters then i enter a $^&* it jsut suddenly goes up to 100 percent pass. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.