script&css&html&ajax
Javascript Password Validation
subinpapa
2018. 9. 4. 12:15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width" /> <title>JQuery Validation Test</title> <script type="text/javascript" src="/scripts/jquery.js"></script> </head> <body> <script type='text/javascript'> //<![CDATA[ $(document).ready(function () { // 패스워드 체크 함수 function passwordValidation(passwd) { // 1. 가능문자 여부 체크 var notValid = /[^\w\~\!\@\#\$\%\^\&\*\(\)\_\+\|\{\}\:\"\<\>\?\`\-\=\[\]\;\'\,\.]/g.test(passwd); if (notValid) { return "영문,숫자 및 사용 가능한 특수문자로 입력해주세요."; } // 2. 영문,숫자,특수문자 2가지 이상 혼용 여부 체크 var num = /[0-9]/g.test(passwd) ? 1 : 0; var eng = /[a-z]/gi.test(passwd) ? 1 : 0; var spe = /[\~\!\@\#\$\%\^\&\*\(\)\_\+\|\{\}\:\"\<\>\?\`\-\=\[\]\;\'\,\.\/]/g.test(passwd) ? 1 : 0; //~!@#$%^&*()_+|{}:"<>?`-=\[];',./ if (num + eng + spe < 2) { return "영문,숫자,특수문자 2개이상 조합으로 입력해주세요."; } // 3. 자리수 체크 var passwdLength = passwd.length; if (passwdLength < 8 || passwdLength > 16) { return "8자리 이상 16자리 이하로 입력해주세요."; } // 4. 반복 문자/숫자 체크 if (/(\w)\1\1\1/.test(passwd)) { return "동일한 문자는 3번까지 반복 입력가능합니다."; } return ""; } // 패스워드 체크 실행 $("#passwd").on("keyup", function (e) { var passwd = $(this).val(); var result = passwordValidation(passwd); $("#result").html(result); }); }); //]]> </script> <input type="text" id="passwd" name="passwd" value="aA123Aa" /> <div id="result"></div> </body> </html> | cs |