Javascript 检测字符串中的所有字符是否都是阿拉伯语

Javascript 检测字符串中的所有字符是否都是阿拉伯语,javascript,regex,Javascript,Regex,询问如何匹配字符串中的任何字符是否为阿拉伯语;公平地说,解决方案是有效的。我想知道如何判断字符串中的所有字符(减去空格)是否都是阿拉伯语 答案是 根据维基百科,阿拉伯语字符属于Unicode范围0600-06FF。因此,您可以使用正则表达式来测试字符串是否包含此范围内的任何字符: 如何获取var阿拉伯语=/[\u0600-\u06FF]/匹配所有字符,而不只是检查一个字符 我正在寻找一个可以用来匹配字符串的正则表达式语句,它的返回值将指示字符串中的所有字符是否都是阿拉伯字符 var阿拉伯语=/[

询问如何匹配字符串中的任何字符是否为阿拉伯语;公平地说,解决方案是有效的。我想知道如何判断字符串中的所有字符(减去空格)是否都是阿拉伯语

答案是

根据维基百科,阿拉伯语字符属于Unicode范围0600-06FF。因此,您可以使用正则表达式来测试字符串是否包含此范围内的任何字符:

如何获取
var阿拉伯语=/[\u0600-\u06FF]/
匹配所有字符,而不只是检查一个字符

我正在寻找一个可以用来匹配字符串的正则表达式语句,它的返回值将指示字符串中的所有字符是否都是阿拉伯字符

var阿拉伯语=/[\u0600-\u06FF]/
您可以使用
RegExp.prototype.test()
test()
方法,检查是否存在相反的情况,并对其进行否定

回想起 请记住,阿拉伯字符串和阿拉伯文本不限于使用阿拉伯字符
/[\u0600-\u06FF]/
,因为在阿拉伯文本中,我们也使用拉丁数字和标点符号,如
/\)(!
)等

阿拉伯文Unicode块
/[\u0600-\u06FF]/
请参见此处的,它没有这些标点符号和符号

因此,请记住,阿拉伯语文本中存在以下基本的拉丁Unicode:

\u0020-\u0040

\u005B-\u0060

\u007B-\u007E

请记住,即使是
空格
字符也存储为拉丁Unicode

下面是一个短函数
isItAllArabic
,它返回
true
false

如果要确定字符串中的所有字符(减去空格)是否都是阿拉伯语,可以修改如下函数:

const isItAllArabic =s=>(!/[^\u0600-\u06FF ]/.test(s));
我希望这对您有所帮助,并回答您的问题(尽管回答较晚)

//======================================================
//测试字符串是否只有阿拉伯字符
//阿拉伯语中存在拉丁标点符号和数字
//由于一些字符串不存在,因此通常使用字符串
//阿拉伯文Unicode字母。
//
//输出:返回真/假
//======================================================
const isItAllArabic=s=>(!/[^\u0600-\u06FF\u0020-\u0040\u005B-\u0060\u007B-\u007E]/.测试);
//======================================================
console.log(Isitallarbatic(“محسن”);//true.所有阿拉伯文本
console.log(isItAllArabic(“(محسن)”);//true.Symbols()被忽略
console.log(Isitallarbatic(“محن/محم!وعلي”);//正确。忽略标点和符号
console.log(isItAllArabic(“محسن123”);//数字正常时为true
console.log(Isitallarbatic(“محسنmohsen”);//错误,因为拉丁字符

console.log(isItAllArabic(“mohsen”);//false
这是否回答了您的问题?将所有(
\s+
)替换为空字符串,然后您必须检查整个字符串是否与模式匹配。@Countour Integral No,我尝试过了;它将拒绝mroe超过一个字符的阿拉伯字符串
var arabic=/^[\u0600-\u06FF]+$/;
var阿拉伯语=/^[\u0600-\u06FF]*$/;
都很好。请参阅@JohnLexus,希望下面的答案对您有所帮助。
const isItAllArabic =s=>(!/[^\u0600-\u06FF ]/.test(s));