如何定义一个只接受波斯字母字符的正则表达式?
我尝试了以下功能,但它无法正常工作:
function Just_persian(str){
var p=/[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/;
if(!str.match(p))
alert("invalid format");
}
答案 0 :(得分:34)
波斯字符在Arabic Unicode block范围内,范围从U + 0600到U + 06FF(在字符类中指定为\u0600-\u06FF
)。
function just_persian(str){
var p = /^[\u0600-\u06FF\s]+$/;
if (!p.test(str)) {
alert("not format");
}
}
改编自此问题的JavaScript:Regex for check the input string is just in persian language
答案 1 :(得分:5)
您可以使用persianRex,它会检测不同键盘布局中的所有波斯语字符,并且它是开源的。
下载并将其放入项目文件夹中。然后将其包含在HTML中,如下所示:
<script src="persian-rex/dist/persian-rex.js"></script>
然后在您的Javascript中,您可以执行此操作:
function Just_persian(str){
if(persianRex.text.test(str))
alert("not format");
}
答案 2 :(得分:1)
波斯人物在以下范围内:[\ u0600- \ u06FF]并且:[\ s]
使用此代码:
function Just_persian(str){
var p=/@"^([\u0600-\u06FF]+\s?)+$"/;
if(!str.match(p))
alert("not format");
}
这个Patern包括Letter和space Charachters。