Javascript 允许在正则表达式中引用
这是我的javascript正则表达式,仅用于匹配拉丁或希伯来字符:Javascript 允许在正则表达式中引用,javascript,regex,Javascript,Regex,这是我的javascript正则表达式,仅用于匹配拉丁或希伯来字符: /^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]+|[\w ]+ )$/i 为了允许引用,我需要添加什么术语?例如,如果输入为:abc“d。它应该通过正则表达式测试而不发出警报 更新 我想如果我给你完整的代码会更好: var RE_MY_REGEX = /^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]+|[\w ]+ )$/i, myValue = 'abc"d'; if (!
/^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]+|[\w ]+ )$/i
为了允许引用,我需要添加什么术语?例如,如果输入为:abc“d。它应该通过正则表达式测试而不发出警报
更新
我想如果我给你完整的代码会更好:
var RE_MY_REGEX = /^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]+|[\w ]+ )$/i,
myValue = 'abc"d';
if (!RE_MY_REGEX.test(myValue )) {
alert("failed");
}
else
{
alert("success");
}
您可以使用括号中的引号(“
):
/^(?:[\u0590-\u05FF\uFB1D-\uFB40 "]+|[\w "]+ )$/i
无论如何,我对您的正则表达式中的最后一个空格字符有疑问。。。不应该是这样吗:
/^(?:[\u0590-\u05FF\uFB1D-\uFB40 "]+|[\w "]+)$/i
如果引号可以出现在希伯来文中,你也应该把引号放在那里。我不确定写希伯来语时是否使用与写拉丁语时完全相同的引号,或者它们的unicode是什么。所以,你可以在希伯来文文本中提前检查这个
如果上面的正则表达式不起作用,我建议一步一步地进行:简化它并用一个仅限拉丁语的字符串进行检查;然后修改正则表达式,只考虑希伯来文并检查它;不带引号和带引号等…在结束括号之前有一个额外的空格
)
。以下代码对我来说运行良好,并发出“成功”警报
这些引文出现在希伯来文字符中吗?我怀疑这取决于引用,看看这个正则表达式测试仪:(还有,看看我的编辑…)是的,我的quoets也可以用希伯来文字符显示,如果是这样,测试就失败了。。。我该怎么办?如果引号可以出现在希伯来文中,你也应该把引号放在那里。请看我的编辑。我建议您使用regexpal.com网站进行一些基本测试。。。我不知道热生成希伯来文字符从我的钥匙,否则可以自己做。。。
var RE_MY_REGEX = /^(?:[\u0590-\u05FF\uFB1D-\uFB40 ]+|["\w ]+)$/i;
myValue = 'abc"d';
if (!RE_MY_REGEX.test(myValue)) {
alert("failed");
}
else {
alert("success");
}