2016-08-12 2 views
0

당신의 다음을 수락 정규 표현식 좀 도와 수 콤마로 구분 (단위 : 천원)과 점 분리 (소수)와 숫자에 동의합니다. 수자바 스크립트 정규식

을에 없음 미만 4 이상 소수점 나는 몇 가지 시나리오에서이 패턴을 테스트했지만 실패했습니다 :

^\d+(\,\d+{1.3} \.d{1.4})*$ 

유효한 입력 :

1 
11 
111 
1,111 
1,111,111 
1.1111 
11.1111 
111.1111 
1,111.1111 

잘못된 입력 :

Any letter 
1,1 
1.1 
1.11 
1,11.11 
1,111.1 

주요 기준은 다음과 같습니다. (소수점 4 자리 a 의무 사항). (천 당 3 개 개의 숫자는 쉼표가 있어야합니다.)

+0

을 선호하는 경우에 당신이 요청하기 전에 검색 했습니까? -> 관련 질문에 답해 주셔야합니다. – epascarello

+0

이것은 명확하지 않습니다 :'1.1','1.11' 및'1,111.1'이 유효합니다. * 소수점 이하 4 자리수는 * 1 ~ 4가 될 수 있음을 의미합니다. 그러나 하단에는 * 4 소수점을 반드시 기재하십시오 *. 마지막 문장이 올 바르면'^ (? : \ d {1,3} (? :, \ d {3}) * | \ d +) (? : \. \ d {4})? $' 또는'^ \ d {1,3} (? :, \ d {3}) * (? : \. \ d {4})? $' –

+0

Wiktor에 주목 해 주셔서 감사합니다. 소수점 이하 4 자리. –

답변

1

/^\d\d?\d?(,\d\d\d)*(\.\d\d\d\d)?$/ 

이상이 더 복잡하거나

/^\d{1,3}(,\d{3})*(\.\d{4})?$/ 
+0

나는 실제로 [이미 그것을 제안했다] (http://stackoverflow.com/questions/38918783/javascript-regex-to-accept-numbers-with-comma-separator-thousands-and-dot-sepa#comment65194428_38918783) 작동하는지 확인하지 마십시오. –