7

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

4

3 回答 3

20

将范围放在字符类中,如下所示。

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

+重复前一个令牌一次或多次。

于 2015-01-24T08:09:04.307 回答
3

您可以在regexr.com上测试正则表达式模式,然后在您的代码中使用它。我用来将波斯手机号码与 Unicode 匹配在 blew: <\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",

    });
于 2020-05-07T08:12:20.467 回答
0

我根据我的搜索建议这种模式:

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

这有点复杂,但如果您想以Persian phone number格式输入波斯语和英语数字,则可以使用。我刚刚使用|as or,括号进行分组。正如@ahmad_mhm 提到的,您可以在RegExr上对其进行测试。

于 2021-08-12T09:37:40.267 回答