使用正则表达式在文本字段中仅输入阿拉伯字母

时间:2014-05-10 09:24:28

标签: jquery validation

我有一些输入文本字段,用户必须在某些字段中仅输入字母表(或)仅在某些字段中输入数字等。我使用正则表达式以英语实现了这一点但是如何用阿拉伯语进行。

这是我的英语验证码

//只输入字母

 $(".alphaOnly").bind("keyup blur", function(e){


            if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 && e.keyCode!=8 && e.keyCode!=46 && !e.ctrlKey){
            $(this).val( $(this).val().replace(/[^a-zA-Z_ ]*$/,'') );


            }
        });
    $(".alphaOnly").bind("keydown blur", function(e){

            if($(this).val().length == 0){
                if(e.keyCode==32){
                    $(this).val("");
                    e.preventDefault();
                }
            }else{
            if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 && e.keyCode!=8 && e.keyCode!=46 && !e.ctrlKey){
            $(this).val( $(this).val().replace(/[^a-zA-Z_ ]*$/,'') );

            }
            }
        });

2 个答案:

答案 0 :(得分:1)

列表的阿拉伯字符集

[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]

您可以按如下方式使用正则表达式进行测试:

function HasArabicCharacters(text)
{
    var arregex = /[\u0600-\u06FF]/;
    alert(arregex.test(text));
} 

Unicode中的阿拉伯语脚本:

阿拉伯语脚本包含在以下块中:

Arabic (0600—06FF, 225 characters)
Arabic Supplement (0750—077F, 48 characters)
Arabic Extended-A (08A0—08FF, 39 characters)
Arabic Presentation Forms-A (FB50—FDFF, 608 characters)
Arabic Presentation Forms-B (FE70—FEFF, 140 characters)
Rumi Numeral Symbols (10E60—10E7F, 31 characters)
Arabic Mathematical Alphabetic Symbols (1EE00—1EEFF, 143 characters)

Unicodes来自维基百科 - Arabic script in Unicode

答案 1 :(得分:0)

我只允许使用阿拉伯语和英语字母。

我知道这不是最好的方法,但这是我的代码,它可以完美工作:

<div class="block">
 <div class="container">
   <button>£10</button>
   <button>£20</button>
   <button>£30</button>
  </div>
</div>

P.S。 :不要忘记为您设置文本字段的代表