작업 중에
영문+숫자 조합 정규식이 필요한데
구글링 했더니.. 대부분 영문+숫자(필수아님) 이었다.
드디어 찾고 찾은 정규식을 기록해둔다.
최소4글자 최대12글 영문(필수),숫자(필수)
const idFilters = /^[a-zA-Z](?=.*[a-zA-Z])(?=.*[0-9]).{4,12}$/g;
사용법
if(vm.userDto.userId ==""){
alert("아이디를 입력해주세요.");
}
else if(!idFilters.test(vm.userDto.userId)){
console.log(idFilters.test(vm.userDto.userId));
alert("영문(소문자)과 숫자로 조합된 4~12글자로 생성해주세요.");
}
23.02.01 추가
위 소스는... 4,12인데도 글자 수가 이상해서 3,14으로 고쳤다. 그리고
숫자가 앞에 오는 경우는 안 된다.
const idFilters = /^[a-zA-Z](?=.*[a-zA-Z])(?=.*[0-9]).{4,12}$/g;
그래서 이렇게 고쳤다.
최소(4글자)
최대(12글자)
영 대/소문자(필수)+숫자 (필수)
제일처음 글자가 영문 이어도 ok
제일처음 글자가 숫자 이어도 ok
var idFilters = /^[a-zA-Z0-9](?=.*[a-zA-Z])(?=.*[0-9]).{3,12}$/g;
23.02.01 오류추가
위 코드로 진행했더니 위에 적어둔 조건들은 ok이지만.
마지막에 특수문자가 오는것도 ok 되버린다. @나 + 같은..
오류는 찾아서 수정해놓겠다
23.02.01 오류해결
특수문자를 별도로 replace 해주었다.
// 특수문자 정규식
const reg = /[^a-zA-Z0-9ㄱ-힣]/g;
/*사용예시*/
vm.userDto.userId = vm.userDto.userId.replace(reg,"");
728x90
'JAVA > JavaScript' 카테고리의 다른 글
[JavaScript ] cofirm 간단 코드 (0) | 2023.02.07 |
---|---|
[JavaScript] oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" 사용자가 숫자만 입력하게 하기 (0) | 2023.02.06 |
FAQ 페이지 클릭 / 넌클릭 아코디언 코드 (0) | 2022.12.16 |
인증번호 만들기 /java 숫자/ 문자+숫자 아스키코드 (0) | 2022.08.23 |
체크박스 전체 선택 / 전체 해제 자바스크립트로만 (0) | 2022.08.22 |
댓글