2013-07-08 2 views
0

이것은 아마도 여러 번 해결 된 간단한 질문 일 것입니다. 나는 프런트 엔드 개발에 익숙하지 않아 유효성 검사 부분에 어려움을 겪고있다. 통화 입력이있어서 자바 스크립트에서 다음 문을 사용하여 숫자 만 허용했습니다. 이 내용을 편집하거나 입력 할 때 두 자리수 만 허용하도록 줄을 추가 할 수 있습니까?JSP 입력 유효성 검사 금액 - 아마도 REGEX로

$("input#amountToSave").on("blur keyup", function() { 
     this.value=this.value.replace(/[^0-9.]+/,''); 
}); 

답변

0

당신은 그들을 통해 따라서 $,이

^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$ 

많은 통화 expresssions가 선행 0을 허용 같은 01.40 패스를 뭔가를 시도 할 수 있습니다. 이 표현식은 해당 열에서 0을 제외하고는이를 제거합니다. 쉼표 및/또는 달러 기호의 유무에 관계없이 작동합니다. 십진수는 필수 항목이 아니며, 1 열과 소수점이 0이 아닌 경우에만 적용됩니다. $ 0.00 및 0.0 키워드 수 있습니다 : 돈을 달러 통화

예를 들면, 좋아

$1,234.50 | $0.70 | .7 
+0

내가 잘못 했나요? 내 코드 조각에있는 두 개의 '/'사이에 REGEX를 붙여 넣었습니다. 이제 문자 입력을 막을 수는 없습니까? this.value = this.value.replace (/^\ $? ([1-9] {1} [0-9] {0,2} (\, [0-9] {3}) * (\. [0-9] {0-9} {0-9} {0-9} {0-9} {0-9} {0-9} {0-9} [0-9] {0,2})? (\. [0-9] {1,2})?) $ /, ''); – user990855

0

- 나는이 문제를 볼 생각합니다. 나는 정규식이 필요하다. (이것은 두 소수 자릿수에 대해 간단한 것이 될 수있다. - 너무 복잡한 것은 필요없고 통화 기호가 필요하지 않다.) 거꾸로된다. 나는 지금 가치가 0-9가 공간으로 대체되지 않는 경우에 시험하고있다 위로 읽을 때 보았다. 그래서 나는 그 reg exp에 3 번째 십진수라면 공간으로 대체 할 필요가있다.