허당 레몬도리

일반 전화번호 정규식
/^\d{2,3}-\d{3,4}-\d{4}$/;


아이디나 비밀번호 정규식
/^[a-z0-9_]{4,20}$/;

핸드폰번호 정규식
/^\d{3}-\d{3,4}-\d{4}$/;


var regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;


if ( !regExp.test( document.frm.hp.value ) ) {
alert("잘못된 휴대폰 번호입니다. 숫자, - 를 포함한 숫자만 입력하세요.");
return false
}

이메일 체크 정규식
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;

functionisemail(strValue)

{

varregExp = /[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+){1,2}$/;

//입력을안했다면

if(strValue.lenght == 0)

{returnfalse;}

//데이터형식이맞지않다면

if(!strValue.match(regExp))

{returnfalse;}

returntrue;

}

//한글이 하나라도 섞여 있으면true를 반환

functionis_han(val) {

varjudge = false;

for(vari = 0; i < val.length; i++) {

varchr = val.substr(i,1);

chr = escape(chr);

if(chr.charAt(1) == "u") {

chr = chr.substr(2, (chr.length - 1));

if((chr >= "3131"&& chr <= "3163") || (chr >= "AC00"&& chr <= "D7A3")) {

judge = true;

break;

}

}

elsejudge = false;

}

returnjudge;

}

//한글로만 되있으면true를 반환= 영어, 숫자, 특수문자가 있으면false

functionhan_only(val) {

varjudge = false;

for(vari = 0; i < val.length; i++) {

varchr = val.substr(i,1);

chr = escape(chr);

if(chr.charAt(1) == "u") {

chr = chr.substr(2, (chr.length - 1));

if((chr >= "3131"&& chr <= "3163") || (chr >= "AC00"&& chr <= "D7A3")) judge = true;

} else{

judge = false;

break;

}

}

returnjudge;

}

//영어로만 되있으면true를 반환= 한글, 숫자, 특수문자가 있으면false

functioneng_only(val) {

varre = /^[A-Za-z]+$/g;

varrs = re.test(val);

returnrs;

}

//이메일 주소 확인

functionis_email(str) {

varr1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");

varr2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");

return(!r1.test(str) && r2.test(str));

}

//숫자만 입력 확인

functionis_number(str) {

varr = new RegExp("^[0-9]+$");

returnr.test(str);

}

//전화번호 입력 확인

functionis_phone(str) {

varr = new RegExp("^[0-9]{2,4}-[0-9]{2,4}-[0-9]{4,4}$");

returnr.test(str);

}

//공백제거

functiontrim(str) { //trim()함수 구현

varnewStr = str.replace(/^\s+/,"").replace(/\s+$/,"");

returnnewStr;

}

//enter key를 눌렀을 때submit 처럼 사용한다

functionenter_key(form) {

if(event.keyCode ==13) {

form.submit();

}

}

// 입력날짜의 기본값은mm/dd/yy이고 다른 형식이면arguments를 줘야한다.

functionis_date(datein){

vartype= isDate.arguments[1];

varrval = false;

varindate=datein;

if(indate.indexOf("-")!=-1) varsdate = indate.split("-");

elsevarsdate = indate.split("/");

if(type=="yy/mm/dd") {

varnewdate = Array(3);

newdate[0] = sdate[1];

newdate[1] = sdate[2];

newdate[2] = sdate[0];

indate = newdate.join("/");

sdate = indate.split("/");

}

varchkDate=new Date(Date.parse(indate))

varcmpDate=(chkDate.getMonth()+1)+"/"+(chkDate.getDate())+"/"+(chkDate.getYear())

varindate2=(Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2]))

if(indate2!=cmpDate) rval = false;

else{

if(cmpDate=="NaN/NaN/NaN") rval = false;

elserval = true;

}

returnrval;

}

//입력시 값 체크onkeydown="handlerNum()", 최대값 제한: MaxLength="5"

functionhandlerNum() {

e = window.event; //윈도우event

//숫자열0 ~ 9 : 48 ~ 57, 키패드0 ~ 9 : 96 ~ 105 ,8 : backspace, 46 : delete -->키코드값을 구분합니다.

if(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 ||

e.keyCode == 46){

if(e.keyCode == 48 || e.keyCode == 96){ //0을 눌렀을경우

if(txtBox1.value == "")//아무것도 없는상태에서0을 눌렀을경우

e.returnValue=false;

else

return;

}

else//0이 아닌숫자

return;

} else{ //숫자가 아니면 넣을수 없다.

alert('숫자만 입력가능합니다');

e.returnValue=false;

}

}

//주민번호 확인

functionis_ssn(SSN1, SSN2) {

if(SSN1.length != 6 || SSN2.length != 7) returnfalse;

varSSN = SSN1 + SSN2;

varstrA, strB, strC, strD, strE, strF, strG, strH, strI, strJ, strK, strL, strM, strN, strO;

varnCalA, nCalB, nCalC;

strA = SSN.substr(0, 1);

strB = SSN.substr(1, 1);

strC = SSN.substr(2, 1);

strD = SSN.substr(3, 1);

strE = SSN.substr(4, 1);

strF = SSN.substr(5, 1);

strG = SSN.substr(6, 1);

strH = SSN.substr(7, 1);

strI = SSN.substr(8, 1);

strJ = SSN.substr(9, 1);

strK = SSN.substr(10, 1);

strL = SSN.substr(11, 1);

strM = SSN.substr(12, 1);

// CheckSum

strO = strA*2 + strB*3 + strC*4 + strD*5 + strE*6 + strF*7 + strG*8 + strH*9 + strI*2 + strJ*3 + strK*4 + strL*5;

nCalA = eval(strO);

nCalB = nCalA % 11;

nCalC = 11 - nCalB;

nCalC = nCalC % 10;

strv = '19';

strw = SSN.substr(0, 2);

strx = SSN.substr(2, 2);

stry = SSN.substr(4, 2);

// 날짜수 체크

strz = strv + strw;

if((strz % 4 == 0) && (strz % 100 != 0) || (strz % 400 == 0)) yunyear = 29;

elseyunyear = 28;

if((strx <= 0) || (strx > 12)) return false;

if((strx == 1 || strx == 3 || strx == 5 || strx == 7 || strx == 8 || strx == 10 || strx == 12) && (stry > 31 || stry <= 0)) return false;

if((strx == 4 || strx == 6 || strx == 9 || strx == 11) && (stry > 30 || stry <= 0)) return false;

if(strx == 2 && (stry > yunyear || stry <= 0)) return false;

if(!((strG == 1) || (strG == 2) || (strG == 3) || (strG ==4))) return false;

if( nCalC != strM ) return false;

return true;

}

[출처] [Javascript] 정규식|작성자 findaday

profile

허당 레몬도리

@LemonDory

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!