[유효성검사]정규표현식활용
input type 확인
- text / 이름 입력시
1) 한글만 입력
var hName = /^[가-힣]+$/;
2) 한글or영문만
var hName = /^[가-힣a-zA-Z]+$/;
- text/ 숫자만 입력(전화번호)
var pattern = /^[0-9]*$/;
[비교]
var f_name = $.trim($("#f_name").val()); //이름
var f_num = $.trim($("#f_num").val()); //전화번호
if (f_name == "") {
alert("이름을 입력해주세요.\n");
$('#f_name').focus();
}else if (!hName.test(f_name)) {
alert("이름을 정확히 입력해주세요.");
$('#f_name').focus();
}else if (f_num == "") {
alert("휴대폰번호를 입력해주세요.");
$('#f_num').focus();
}else if (!pattern.test(f_num) ) {
alert("휴대폰번호를 정확히 입력해주세요.");
$('#f_num').focus();
}
[정규식 정리]
한글만 입력 가능 |
var 변수명 = /^[가-힣]+$/; |
|
숫자만 입력 가능 |
var 변수명 = /^[0-9]*$/; |
|
영문만 입력 가능 | var 변수명 = /^[a-zA-Z]+$/ | |
한글 + 영문만 입력 가능 | var 변수명 = /^[가-힣a-zA-Z]+$/; | |
아이디(영문+숫자) |
var 변수명 = /^[a-zA-Z0-9]{4,12}$/; |
4글자 이상 12자미만, 영어대소문자,숫자,-,_ 사용가능 |
비밀번호(영문/숫자+특문) |
var 변수명 = /^(?=.*[a-zA-Z])((?=.*\d)|(?=.*\W)).{6,20}$/ |
6글자 이상 20자 미만, 최소 1개의 숫자 혹은 특수문자 포함 |
이메일 주소 |
var 변수명 = /^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/ |
|
숫자만 입력가능 |
var 변수명 = /[^0-9]/gi; |
숫자만 입력 |
전화번호 | var 변수명 = /^\d{2,3}-\d{3,4}-\d{4}$/; | ex)123-123-1234 |
핸드폰입력 | var 변수명 = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/; | ex)010-0000-0000 |
url입력 | var 변수명 = /^(file|gopher|news|nntp|telnet|https?|ftps?|sftp):\/\/([a-z0-9-]+\.)+[a-z0-9]{2,4}.*$/; |
정규식 확인 가능 url
https://regexr.com/
http://www.codejs.co.kr/%EC%A0%95%EA%B7%9C%EC%8B%9D-regular-expression/
문자입력제한시 참고할 url
https://ryukato.github.io/javascript/2016/01/27/replace-some-text-with-regex.html
* url 입력 유효성 확인 2 *
//함수 function validURL(str) { return (str.indexOf("http") == -1 && str.indexOf("https") == -1) ? false : true; } |
var 변수명 = $.trim($('#input').val()); if(변수명==""){ //빈값일때 alert("URL을 입력해주세요."); }else if(!validURL(변수명 )){ //URL형식이 아닐 때 alert("URL로 입력해주세요"); }else{ //성공 } |