2009-05-10 4 views

답변

2

정규식은 당신을 위해 유효성을 검사 할 수 있습니다 :

/[\$£¥]\d+(\.\d\d)?/ 

(그러나이 너무에서 유로 기호)

내가 준이 하나가되지 않습니다 그것을 할 수있는 가장 강력한 방법 . 원하는대로 변경할 수 있습니다.

var myString = "$55.32", 
    currency = parseFloat(myString.replace(/^[^\d\.]*/, '')) 
    valid = !isNaN(currency) 
; 

그것은 아닌 번호 또는 처음부터 . 문자를 벗겨 후 플로트로 구문 분석 : 대안은 이런 식으로 뭔가를 시도하는 것입니다.

7

여기서 문제는 삼중입니다 :

  1. lot of currency symbols있다;
  2. 통화 기호는 같은 기호를 사용합니다 (예 : $는 호주 또는 미국 달러를 의미). 및
  3. 숫자 작성시 로켈 차이 (예 : 영어로 3,000.00은 독일어로 3,000,000입니다.)

그냥 숫자를 가지고 통화 기호를 잊어 버려. 그러나 통화를 감지하는 것이 전체적인 지점이라면 별도로 선택하거나 위에 열거 한 통화 목록의 하위 세트와 로캘 차이를 구현해야합니다.

관련 문제