我在JavaScript中使用了正则表达式,它应该匹配捷克语字母的每个字母。
var patt = new RegExp("[A-Za-zÁČĎÉĚÍÓŘŠŤÚŮÝŽáčďéěíóřšťúůýž]");
问题是,在Mozilla中,这个正则表达式绝对匹配所有内容,包括像
这样的字符串var str = "2";
和其他字符串,不应匹配。
所有其他浏览器(尝试使用Chrome,Opera,IE,Safari)确实返回" false"以下代码行
var res = patt.test(str);
我真的很担心这种行为,欢迎任何帮助!
谢谢
答案 0 :(得分:0)
您使用的是哪个版本的Firefox?来自Firefox浏览器上的Firefox 28.0上的firefox开发控制台(按F12):
var patt = new RegExp("[A-Za-zÁČĎÉĚÍÓŘŠŤÚŮÝŽáčďéěíóřšťúůýž]");
# undefined
var str = "2";
# undefined
var res = patt.test(str);
# undefined
res
# false
编辑:如帖子中所述,它是UTF-8 / ASCII编码错误,编码为:
var patt = new RegExp("[A-Za-zÁČĎÉĚÍÓŘŠŤÚŮÝŽáčďéěíóřšťúůýž]");
W3Cschools(他们非常可怕,并且不应该被用得太多)。