我正在尝试编写Reg表达式来检查语言是英语还是阿拉伯语。RegExp表达式接受所有特殊字符的字母数字值
我的被测字段用于捕获短信。该消息可以
English with numbers & special characters
OR
Arabic with English numbers/Arabic numbers & special characters
搜索应该是对多收纳空间&进入。 检查是分配每种语言允许的字符数。例如:英语允许160;而阿拉伯语只允许70%的短信
我承担的EXP应该只检查的话(前几个决定语言)
这里是什么,我在JavaScript写了一个样本;正则表达式没有工作,唯一的正则表达式:
var pat = new RegExp("^[A-Za-z0-9\[email protected]#$%^&*()_+=-`~\\\]\[{}|';:/.,?><]*$");
但对于以下字符串失败:
"Hello & Hi"
有什么建议?
当使用构造,双反斜线逃逸。 '\ s' ==>'\\ s'。在字符类中,'-'具有特殊的含义。要从字面上匹配'-',你需要转义它。 – Tushar
检查[Javascript正则表达式允许在阿拉伯语的特定字符](http://stackoverflow.com/questions/35577540/javascript-regex-to-allow-specific-characters-in-arabic/35581928#35581928)和[如何转换PHP正则表达式来匹配阿拉伯字符到JS正则表达式](http://stackoverflow.com/questions/35036946/how-to-convert-php-regex-to-js-regex/35037002#35037002)。另外,把'-'放在角色类的开始/结尾处,或者按照Tushar的建议逃避它。 –
或者更好的是,当你可以使用文字形式时,不要使用'new RegExp','/ regexhere /'。 –