일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Spring
- devops
- ubuntu
- Gradle
- AWS
- it
- springboot
- jenkins
- linux
- db
- MySQL
- 맛집
- Spring Batch
- tool
- javascript
- ReactJS
- elasticsearch
- JVM
- java
- redis
- Web Server
- Oracle
- Spring Boot
- Git
- php
- laravel
- IntelliJ
- Design Patterns
- jsp
- 요리
Archives
- Today
- Total
아무거나
[jquery] 아이디 패스워드 정책 정규식 본문
반응형
회원가입을 할 때 가입폼에서 패스워드 정책이나 아이디 가입정책등이 필요한 경우가 있다.
이 경우 자바스크립트로 구현한 소스를 참고하자.
[HTML]
<div class="form-group">
<div class="col-sm-9">
<input type="password” id=“password” name="password”
placeholder="Password" class="form-control" onkeyup="login.noSpaceCheck(this);" onchange="login.noSpaceCheck(this);" />
</div>
</div>
[스크립트]
var login = {
init: function () {
},
noSpaceCheck: function (obj) {
var str_space = /\s/;
if(str_space.exec(obj.value)) {
alert("해당 항목에는 공백을 사용할수 없습니다.\n\n공백은 자동적으로 제거 됩니다.");
obj.focus();
obj.value = obj.value.replace(' ','');
return false;
}
},
memberReg: function () {
var loginId = $('#loginId').val();
var userName = $('#userName').val();
var password = $('#password').val();
var passwordConfirm = $('#passwordConfirm').val();
if (!loginId) {
alert('아이디를 입력하세요.');
$('#loginId').focus();
return false;
}
if (!login.idPolicy(loginId)) {
return false;
}
if (!userName) {
alert('이름을 입력하세요.');
$('#userName').focus();
return false;
}
if (!password) {
alert('패스워드를 입력하세요.');
$('#password').focus();
return false;
}
if (!login.passwordPolicy(password)) {
return false;
}
if (!passwordConfirm) {
alert('패스워드 확인을 입력하세요.');
$('#passwordConfirm').focus();
return false;
}
if (password != passwordConfirm) {
alert("입력한 두 개의 비밀번호가 서로 일치하지 않습니다.");
return false;
}
$('#reg_user_form').submit();
},
idPolicy: function (value) {
var loginIdRex = /^[a-z]+[a-z0-9]{2,10}$/g;
if(!loginIdRex.test(value)) {
alert("아이디는 영문자로 시작하는 3 ~ 10자 영문자 또는 숫자이어야 합니다.");
return false;
}
return true;
},
passwordPolicy: function (value) {
var num = value.search(/[0-9]/g);
var bigEng = value.search(/[A-Z]/g);
var spe = value.search(/[`~!@@#$%^&*|₩₩₩'₩";:₩/?]/gi);
if (value.length < 10 || value.length > 64) {
alert("비밀번호에 10자리 ~ 64자리 이내로 입력해주세요.");
return false;
}
if (value.match(/[^a-zA-Z0-9`~!@@#$%^&*|₩₩₩'₩";:₩/?]/) != null) {
alert("비밀번호는 숫자와 영문 또는 특수문자만 입력할 수 있습니다.");
return false;
}
if (bigEng < 0) {
alert("비밀번호에 영문 대문자를 1자 이상 입력해주세요.");
return false;
}
if (num < 0) {
alert("비밀번호에 숫자를 1자 이상 입력해주세요.");
return false;
}
if (spe < 1) {
alert("특수문자를 2자 이상 입력해주세요.");
return false;
}
return true;
}
};
login.init();
반응형
'Javascript & HTML & CSS > Javascript' 카테고리의 다른 글
[jquery] 로딩바(=loading bar) 구현 (6) | 2019.01.16 |
---|---|
[javascript] CSV 형태의 대량 데이터 다운 크롬 브라우저 이슈 Blob 사용 (0) | 2018.12.27 |
[javascript & jquery] javascript & jquery를 활용한 다양한 숫자 체크 (0) | 2018.09.14 |
[javascript] 시간 자동 완성(HH:MM) 텍스트 박스 (0) | 2018.09.12 |
[jquery] input file 태그에 이미지 첨부시 이미지 미리보기 스크립트 (0) | 2018.09.12 |
Comments