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

Jquery 使用正则表达式在文本字段中仅输入阿拉伯字母,jquery,validation,Jquery,Validation,我有一些输入文本字段,用户必须在某些字段中只输入字母(或在某些字段中只输入数字),等等。我用正则表达式用英语实现了这一点,但如何用阿拉伯语实现 这是我的英文验证码 //只输入字母表 $(".alphaOnly").bind("keyup blur", function(e){ if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 &

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

这是我的英文验证码

//只输入字母表

 $(".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_ ]*$/,'') );

            }
            }
        });

列表的阿拉伯文字符集

[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]
您可以使用regex进行如下测试:

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取自维基百科-

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

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

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

         let set = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ أبجدهوزحطيكلمنسعفصقرشتثخذضظغ")


         if string.rangeOfCharacter(from: set.inverted) != nil {
            return false
        }
        return true  
    }
注意:别忘了设置textfield的委托