我需要一个仅允许hebrew
或english
的Javascript正则表达式,只允许使用字符" ' -
我达到了这个:
var allowed = /^(?:[\u0590-\u05FF\uFB1D-\uFB40]+|[\w]+|["'])$/i;
if(!allowed.exec(name)) {
alert('not allowed');
}
它出了什么问题?
答案 0 :(得分:3)
它有什么问题[?]
立即跳出来的是什么:
-
\w
允许_
以及A-Za-z
。exec
。test
|
表达式是不必要的,使用统一的字符类尝试以下方法:
var allowed = /^[-A-Z"'\u0590-\u05FF\uFB1D-\uFB40]+$/i;
if(!allowed.test(name)) {
alert('not allowed');
}
或者,如果你想确保它是英文或希伯来文:
/^(?:[-A-Z"']+|[-"'\u0590-\u05FF\uFB1D-\uFB40]+)$/i
如果这对您没有帮助,您需要更具体地说明它不适合您的原因。