일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- react
- reactnative 웹뷰 페이지 로딩
- react native safeArea
- 타입스크립트
- react이론
- styled component is not working
- input 숫자입력
- React Native navigation
- React Native SafeArea Custom
- gsap 기초
- 퍼블리셔
- styled component
- styled component 작동 안될때
- rn webview page loading
- slick slider 간격
- React-Native IOS
- styled component 작동안함
- 리액트
- 임고미
- SafeArea 커스텀
- 웹뷰 페이지 로딩
- JS
- React-Native 공부
- 프론트앤드
- scrollIntoView scrollTo
- RN navitate push
- 트윈맥스 기초
- js 특정 위치로 이동
- safari wiondow.open
- gsap
Archives
- Today
- Total
개발공부 임고미
[Java script] 플러그인 사용안하고 정규식 체크(Validate) 본문
728x90
300x250
Jquery 에서는 $.test() 메서드로,
PHP 에서는 preg_match() 함수로 사용
전화번호 체크 정규식
function isMobile(phoneNum) { phoneNum; phoneNum = phoneNum.split('-').join(''); //하이픈 없는버전 var regExp =/(01[016789])([1-9]{1}[0-9]{2,3})([0-9]{4})$/; //중간에 하이픈 넣는 버전 var regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/ var myArray; if(regExp.test(phoneNum)){ myArray = regExp.exec(phoneNum); //핸드폰번호 형식에 해당하는 경우 return true; }else { //핸드폰번호 형식에 해당하지 않는 경우 return false; } }
또는
function isCelluar(asValue) { var regExp = /^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$/; return regExp.test(asValue); // 형식에 맞는 경우 true 리턴 }
추가정보. 1
//핸드폰 번호 사이에 - 를 넣고싶으면 ? let userTel = // 인풋 userTel= userTel.val() //인풋에서 받아오는 value userTel = userTel.substr(0,3) + "-" + userTel.substr(3,4) + "-" + userTel.substr(7,4) //출력 010-1234-5678
추가정보. 2
//숫자만 입력 가능하게 하기 $(".phone").on('keyup',function(e) { $(this).val($(this).val().replace(/[^0-9]/gi,"")) });
추가정보. 3
input type을 number 로 해야할경우
mexlength를 인식 못함
html
<input type="number" class="pone" maxlength="11" oninput="maxLengthCheck(this)" />
js
function maxLengthCheck(object){ if (object.value.length > object.maxLength){ object.value = object.value.slice(0, object.maxLength); } }
이메일 체크 정규식
function isEmail(asValue) { var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; return regExp.test(asValue); // 형식에 맞는 경우 true 리턴 }
비밀번호 체크 정규식
function isJobPassword(asValue) { var regExp = /^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{8,10}$/; // 8 ~ 10자 영문, 숫자 조합 return regExp.test(asValue); // 형식에 맞는 경우 true 리턴 }
이름 체크 정규식
//한글만 받을 경우 (띄어쓰기 불가) var pattern = /^[가-힣]{2,4}$/; //영문만 받을 경우 (띄어쓰기 가능 '\s' 는 공백을 의미한다.) var pattern = /^[a-zA-Z]{2,10}\s[a-zA-Z]{2,10}$/; //둘다 체크(혼용X , '|' 또는 이란 의미) var pattern = /^[가-힣]{2,4}|[a-zA-Z]{2,10}\s[a-zA-Z]{2,10}$/; 적용 function btnSubmit() { // 확인 : 이름 $('#name').val($('#name').val().trim()); if(!chkName($('#name').val())) { alert('이름을 확인하세요.(한글 2~4자 이내)'); $('#name').focus(); return false; } else { return true; } }
{2,4} = 2에서 4자 이내란 의미
정리
html
<input type="text" class="userName" maxlength="10" placeholder="성함을 입력해주세요."> <input type="text" class="userPhone" maxlength="11" placeholder="전화번호를 입력해주세요.">
js
정규식 체크
var userName = $.trim($('.userName').val()) //이름 내 빈공간 제거한 값 var userPhone = $.trim($('.userPhone').val()) //전화번호 내 빈공간 제거한 값 if (userName === '') { // 만약 이름값이 비어있다면 //userName항목에 포커스를 걸어주세요 $('.userName').focus(); } else if (userName) { }
주의 : 띄어쓰기 불가능
한글만 입력 가능 | var 변수명 = /^[가-힣]+$/; | 길이 제한 두려면 /^[가-힣]{2,4}$/; 넣어주기 |
숫자만 입력 가능 | var 변수명 = /^[0-9]*$/; | |
영문만 입력 가능 | var 변수명 = /^[a-zA-Z]+$/; | |
한글 + 영문만 입력가능 (혼용 x ) | var 변수명 = /^[가-힣a-zA-Z]+$/; | |
아이디( 영문 + 숫자) | var 변수명 = /^[a-zA-Z0-9]$/; | 영어 대소문자, 숫자, - , _ 사용가능 |
비밀번호 (영문/숫자+ 특수문자) | var 변수명 = /^(?=.*[a-zA-Z])((?=.*\d)|(?=.*\W).{8,15})/; | 8~15자 이내, 최소 1개의 숫자 혹은 특수문자 포함 |
( 영문 + 숫자 ) | /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}/ |
적어도 소문자 하나, 대문자 하나, 숫자 하나가 포함되어 있는 문자열(8글자 이상 15글자 이하) |
이메일 주소 | var 변수명 = /^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/ | |
전화번호 | var 변수명 = /^\d{2,3}-\d{3,4}-\d{4}$?; | 000 - 0000 - 0000 2~3자리 3~4자리 4자리 |
핸드폰번호 | var 변수명 = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/; | 010 - 0000 - 0000 |
url | var 변수명 = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$ | |
도메인 형태, http:// https:// 포함안해도 되고 해도 되고 |
/^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/ |
|
도메인 형태, http:// https:// 포함하면 안됨 |
/^[^((http(s?))\:\/\/)]([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/ |
function ValidUrl(str) { var pattern = new RegExp('^(https?:\\/\\/)?'+ // 프로토콜 '((([a-z\d](([a-z\d-]*[a-z\d])|([ㄱ-힣]))*)\.)+[a-z]{2,}|'+ // 도메인명 <-이부분만 수정됨 '((\\d{1,3}\\.){3}\\d{1,3}))'+ // 아이피 '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // 포트번호 '(\\?[;&a-z\\d%_.~+=-]*)?'+ // 쿼리스트링 '(\\#[-a-z\\d_]*)?$','i'); // 해쉬테그들 if(!pattern.test(str)) { return false; } else { return true; } } 출처: https://dvlp.tistory.com/219 [DVLP]
참고 : for1123.tistory.com/30 참고 : okkks.tistory.com/927 참고: regexr.com/ 참고 : gocoding.tistory.com/93
728x90
300x250
'퍼블리싱 > html css js' 카테고리의 다른 글
[JavaScript] 타이머 만들기 (0) | 2020.09.14 |
---|---|
[java script] 공백(빈공간) 제거하기 (0) | 2020.09.10 |
[Java script] 객체 빈값 확인하기 (0) | 2020.09.10 |
[Javascript] Daum 우편번호 서비스 사용하기 (0) | 2020.09.08 |
[Javascript] flatpickr를 이용해 간단한 달력만들기 (0) | 2020.09.08 |
Comments