Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 允许在正则表达式中引用_Javascript_Regex - Fatal编程技术网

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 (!

这是我的javascript正则表达式,仅用于匹配拉丁或希伯来字符:

/^(?:[\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");
}