2009-06-22 6 views
2

정규식을 작성했습니다
^ ([+/-]? ([0-9] + (.)?) ([0-9] *. [0-9] +)) $
I는 테스트 데이터 "1A"및 "A1"인 두 가지질문 자바 스크립트 RegExp 정보

var _regex = "^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$"; 
var _regexFloat = new RegExp(_regex); 



var _regexFloat = /^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$/ ; 

하여 만든다.
두 번째 방법으로 정상적으로 작동합니다.
하지만 첫 번째 방법은 true를 반환합니다.

누군가 내가 잘못하면 저에게 제안 할 수 있습니까?

대단히 감사합니다.

는 환경 :

Windows Server 2003의
IE 6

+0

안녕하세요,이 정규식은 무엇입니까? 문자열에 부동 소수점이 포함되어 있는지 알고 있나요? –

답변

5

난 당신이 (첫 번째 버전) 문자열의 그 백 슬래시를 이스케이프해야합니다 생각합니다.

이 시도 :

var _regex = "^([+/-]?([0-9]+(\\.)?)|([0-9]*\\.[0-9]+))$"; 
var _regexFloat = new RegExp(_regex); 
+2

물론 이것은 두 번째 구문이 존재하는 이유입니다. 이스 케이 핑 (escaping)은 읽기 쉽지 않습니다. –

+0

동의합니다. 두 번째 버전을 사용합니다. –