48

如何定义仅接受波斯字母字符的正则表达式?

我尝试了以下功能,但无法正常工作:

function Just_persian(str){
  var p=/[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/;
  if(!str.match(p))
    alert("invalid format");
}
4

3 回答 3

69

波斯字符在阿拉伯语 Unicode 块中,范围从 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

于 2013-07-08T10:39:24.643 回答
7

您可以使用persianRex,它可以检测不同键盘布局中的所有波斯字符,并且它是开源的。

下载它并将其放在您的项目文件夹中。然后将其包含在您的 HTML 中,如下所示:

<script src="persian-rex/dist/persian-rex.js"></script>

然后在你的Javascript中你可以这样做:

function Just_persian(str){
  if(persianRex.text.test(str))
    alert("not format");
}
于 2016-01-13T06:48:12.360 回答
3

波斯字符在范围内:[\u0600-\u06FF] 和:[\s]

使用此代码:

function Just_persian(str){
  var p=/@"^([\u0600-\u06FF]+\s?)+$"/;
  if(!str.match(p))
    alert("not format");
}

此模式包括字母和空格字符。

于 2014-05-23T16:31:59.437 回答