728x90
- target: 종종 사용되는 정규식 정리
- method:
1. Comma
// num = 123456789.987654321
function comma(num) {
var splitNum = num.toString().split('.');
var integer = splitNum[0]; // 123456789
var decimal = splitNum[1]; // 987654321
integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ','); // 123,456,789
return integer + (decimal ? '.' + decimal : '');
}
function delComma(num) {
return num.replace(/,/g, '');
}
※ 정수부/소수부 분해
※ 정수부 정규식 이용하여 comma 추가 후, 소수부 연결
※ 숫자 type이 필요한 경우 comma 제거 (function delComma)
2. OnlyNumber
// 뒷부분 replace(/(\.*)뒤에 \.을 추가하여 소수까지 가능
function onlyNumber(str) {
return str.replace(/[^0-9.]/g, '').replace(/(\.*)\./g, '$1');
}
3. Password
// 8자리 이상, 영문(소문자/대문자), 숫자, 특수문자 모두 포함
function validationPassword(pass) {
var regexp = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,15}/;
if(!regexp.test(pass))
return false;
else
return true;
}
// 10자리 이상, 영문(소문자, 대문자), 숫자, 특수문자 모두 포함
function validationPassword2(pass) {
var regexp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{10,15}/;
if(!regexp.test(pass))
return false;
else
return true;
}
4. addHyphen
function addHyphen(str) {
return str ? str.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, '$1-$2-$3') : '';
}
※ 02인 경우 앞에 2개 이후 하이픈
※ 01로 시작하고 뒤에 숫자가 하나더 있는 경우 하이픈
※ 마지막 숫자 4자리 앞에 하이픈
5. delSymbols
function delSymbols(str) {
return str.replace(/`~!@#$%^&*()_|+\-=?;:\'\",.<>\{\}\[\]\\\/]/gi, '');
}
※ 특수문자 제거
- source:
https://gaemi606.tistory.com/169
JS | 자주쓰는 정규식 (콤마찍기, 숫자만 입력받기 등) / 함수
세 자리 콤마찍기 + 그냥 콤마 찍을 땐 toLocaleString()이 편하다 이건 input값 계속 변경되게하려고 사용 export const numberWithCommas = (num) => { return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g,..
gaemi606.tistory.com
728x90
'Dev > Regexp' 카테고리의 다른 글
regexp를 이용한 format (0) | 2022.05.13 |
---|