Programing/JS

[정규식] 소수점 및 자리수 체크

lejh 2020. 10. 19. 00:46

 

if (/^(\d*)[\.]?(\d{1,2})?$/g.test(_value)) {
	return true;
} else {
	return false;
}

test 메서드를 이용하여 _value에 /^(\d*)[\.]?(\d{1,2})?$/g 정규식에 일치하는지 체크합니다. 

 

소스 흐름

_value = 1234

 

1. ^(\d*) : 첫 입력 값이 문자를 제외한 숫자로 시작

2. [\.]? : _value에 "." 이 있는지 체크

3. (\d{1,2})? : "." 이 있는 상태에서 소수점 2자리까지 체크(2자리 이상이면 false를 반환)

4. $ : (\d{1,2}) 에서 숫자로 끝난다는 의미

 

test 메서드 요약

- 정규표현식의 패턴과 일치하는 문자열이 있으면 true 없으면 false를 리턴

- 인자 값으로 문자열 ex) test("홍길동")

- 반환 자료형 boolean

- 정규표현식 패턴과 일치하는 문자가 발견되면 true, 아니면 false.

exec와 test 차이

exec : 메소드가 패턴과 일치하는 문자열을 찾아내여 배열로 리턴

test : 메소드는 간단히 패턴과 일치하는 문자열이 있는지 없는지만 판단