gpt4 book ai didi

JavaScript regex.test Firefox 与其他浏览器,不同的行为

转载 作者:行者123 更新时间:2023-11-28 08:18:08 24 4
gpt4 key购买 nike

我在 JavaScript 中有以下正则表达式,它应该匹配捷克字母表中的每个字母。

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

问题是,在 Mozilla 中,这个正则表达式绝对匹配所有内容,包括像这样的字符串

var str = "2";

以及其他不应匹配的字符串。

所有其他浏览器(尝试使用 Chrome、Opera、IE、Safari)对于以下代码行都会返回“false”

var res = patt.test(str);

我对这种行为真的很困惑,欢迎任何帮助!

谢谢

最佳答案

您使用的是哪个版本的 Firefox?从 Arch Linux 上的 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 提供(他们非常糟糕,不应该被广泛使用)。

关于JavaScript regex.test Firefox 与其他浏览器,不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com