2014-04-29 4 views
1

나는 체코 알파벳의 모든 문자와 일치하는 JavaScript로 다음 정규 표현식을 사용합니다.JavaScript regex.test Firefox와 다른 브라우저, 다른 동작

var patt = new RegExp("[A-Za-zÁČĎÉĚÍÓŘŠŤÚŮÝŽáčďéěíóřšťúůýž]"); 

문제는이 정규 표현식이 일치하지 않아야

var str = "2"; 

다른 문자열과 같은 문자열을 포함 절대적으로 모든 것을 일치 모질라에있다.

다른 모든 브라우저 코드

var res = patt.test(str); 

나는이 행동, 어떤 도움도 환영 정말 혼란 스러워요 라인을 다음과 같은 사항에 대해 "false"를 반환 않습니다 (크롬, 오페라, IE, 사파리와 시도)!

고맙습니다.

+0

Mozilla? Firefox 란 뜻입니까? 또는 여전히 [Mozilla] (http://www-archive.mozilla.org/products/mozilla1.x/)를 사용하고 있습니까? – Quentin

+0

파이어 폭스, 나쁜 습관, 미안. – jankoritak

+0

Firefox 29에서이 코드를 테스트 할 때 그 동작을 얻지 못합니다. – Quentin

답변

0

어떤 Firefox 버전을 사용하고 있습니까? 아치 리눅스 파이어 폭스 28.0의 파이어 폭스 DEV 콘솔 (프레스 F12)에서 :

var patt = new RegExp("[A-Za-zÁČĎÉĚÍÓŘŠŤÚŮÝŽáčďéěíóřšťúůýž]"); 
# undefined 
var str = "2"; 
# undefined 
var res = patt.test(str); 
# undefined 
res 
# false 

EDIT : 그것은 UTF-8/ASCII 인코딩 오류가 포스트에 언급 된 바와 같이, 이것은 부호화 등 :

var patt = new RegExp("[A-Za-zÁČĎÉĚÍÓŘŠŤÚŮÝŽáčďéěí‌​óřšťúůýž]"); 
W3Cschools에 의해

(매우 끔찍한 사람이고 실제로 많이 사용해서는 안 됨).

+0

이 질문에 대한 답을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남겨 둡니다. – JonesV

+0

그게 합당한 점이야. 나는 코멘트에 코드 형식을 제공하지 못해서 내가 여기에 게시 한 이유는 앞으로 그렇게하지 않을 것이다. –

관련 문제