Dev/Regexp

자주쓰는 정규식

pu3vig 2022. 6. 8. 13:57
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