Javascript 带或不带特殊字符的正则阿拉伯字母

Javascript 带或不带特殊字符的正则阿拉伯字母,javascript,regex,Javascript,Regex,我有一个下面的正则表达式来匹配阿拉伯语字母。我也愿意接受以下字符和空格字符,但是现在它使用布尔或组间字符,阿拉伯字母应该是mandator,所以它不会只接受空格或上面列出的任何字符 不应匹配没有阿拉伯字母的字符 ,- 应该匹配 .-,سشييتنسشاي سشييتنسشاي.ي-, ^[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufbc1]|[\ufbd3-\ufd3f]|[\ufd50-\ufd8f]|[\ufd92-\ufdc7]|[\ufe70-\u

我有一个下面的正则表达式来匹配阿拉伯语字母。我也愿意接受以下字符和空格字符,但是现在它使用布尔或组间字符,阿拉伯字母应该是mandator,所以它不会只接受空格或上面列出的任何字符

不应匹配没有阿拉伯字母的字符

,- 应该匹配

.-,سشييتنسشاي سشييتنسشاي.ي-, ^[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufbc1]|[\ufbd3-\ufd3f]|[\ufd50-\ufd8f]|[\ufd92-\ufdc7]|[\ufe70-\ufefc]|[\ufdf0-\ufdfd]*$
如果我阅读正确,规则是:

必须至少有一个阿拉伯文字符 只能由阿拉伯文脚本、空格和- 如果是,您希望:

字符串中某个阿拉伯字符的正向前瞻,与 ^和$anchors要求它们之间的所有内容都是阿拉伯语或.,-或空格 如果是这样,您可以使用最新Firefox、Chrome/Chrome、Safari、Brave和Edge[v79+]中支持的Unicode属性escapes ES2018+;或者您可以使用LIB,如:

实例:

const rex=/^?=.*\p{Script\u Extensions=Arabic}[-,\p{Script\u Extensions=Arabic}]+$/u; 常量shouldNotMatch=[,-]; const shouldMatch=【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】; 对于常量str,不应匹配{ const result=rex.teststr; console.logstr,result,result?错误:良好; } 对于shouldMatch的常量str{ const result=rex.teststr; console.logstr,result,result?良好:错误;
} 如果我阅读正确,规则是:

必须至少有一个阿拉伯文字符 只能由阿拉伯文脚本、空格和- 如果是,您希望:

字符串中某个阿拉伯字符的正向前瞻,与 ^和$anchors要求它们之间的所有内容都是阿拉伯语或.,-或空格 如果是这样,您可以使用最新Firefox、Chrome/Chrome、Safari、Brave和Edge[v79+]中支持的Unicode属性escapes ES2018+;或者您可以使用LIB,如:

实例:

const rex=/^?=.*\p{Script\u Extensions=Arabic}[-,\p{Script\u Extensions=Arabic}]+$/u; 常量shouldNotMatch=[,-]; const shouldMatch=【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】、【施工图】; 对于常量str,不应匹配{ const result=rex.teststr; console.logstr,result,result?错误:良好; } 对于shouldMatch的常量str{ const result=rex.teststr; console.logstr,result,result?良好:错误;
}FWIW,在我的新书《JavaScript:新玩具》的第10章和第15章中,我介绍了过去几年JavaScript中Unicode的各种改进。如果您感兴趣,请访问我的个人资料中的链接。FWIW,在我的新书《JavaScript:新玩具》的第10章和第15章中,我将介绍过去几年JavaScript中Unicode的各种改进。如果您感兴趣,请在我的个人资料中添加链接。
const rex = /^(?=.*?\p{Script_Extensions=Arabic})[- ().,\p{Script_Extensions=Arabic}]+$/u;