波斯数字的正则表达式

Regex for Persian number

我想创建 JavaScript 正则表达式来检查 (U+06F0 to U+06F9) or (0-9) 范围内文本框的值 我该如何构建它?

将范围放在字符 class 内,如下所示。

^[\u06F0-\u06F90-9]+$

+ 重复前一个标记一次或多次。

您可以在 regexr.com 上测试正则表达式模式,然后在您的代码中使用它。我在 blew 中使用 Unicode 匹配波斯语手机号码: <\u06F0 to \u06F9> 等于 <۰-۹> 匹配这样的波斯数字:۰۹۱۹۹۱۹۱۱۲۲.

    $("#registerForm").validate({
        rules:{
            mobile:{
                required:true,
                pattern : ^[\u06F0][\u06F0-\u06F9]{3}[\u06F0-\u06F9]{3}[\u06F0-\u06F9]{4},

            },
        },
        messages:{
            mobile:{
                required:"شماره تلفن همراه خود را وارد کنید",
                number:"فقط عدد وارد کنید",
                pattern:"تلفن همراه را به درستی وارد کنید"
            },
        },
        errorClass: "help-inline",
        errorElement: "span",

    });

我根据自己的搜索建议使用此模式:

pattern = "^([\u06F0]|[0])([\u06F9]|[9])(([\u06F0-\u06F9]|[0-9]){2})(([\u06F0-\u06F9]|[0-9]){3})(([\u06F0-\u06F9]|[0-9]){4})"

这有点复杂,但如果您想以 Persian phone number 格式输入波斯语和英语数字,则可以使用。我刚刚将 | 用作 or,括号用于分组。正如@ahmad_mhm提到的,你可以在RegExr.

上测试它