jQuery验证 - 如何限制用户在文本字段中输入数字和特殊字符?

时间:2016-12-14 06:20:10

标签: jquery regex jquery-validate

我知道我可以使用以下代码执行此操作。但是它不允许我在文本字段中输入印地文或马拉地语字符。

jQuery.validator.addMethod("lettersonly", function( value, element ) {
        var regex = new RegExp("^[a-zA-Z]+$");
        var key = value;

        if (!regex.test(key)) {
           return false;
        }
        return true;
    }, "please use only alphabetic characters");

基本上,想法是允许用户只输入文本(不包括数字和特殊字符),文本可以是马拉地语或印地语或英语。

2 个答案:

答案 0 :(得分:0)

Hindi / marathi char是unicodes。在这种情况下,在检查号或特殊字符之前,您可以检查它是否为unicodes条目。

如果为true,则跳过检查数字验证。

您可以使用

下面的代码片段来获取每个字符的长度:

function getCharByteLen(char) {

    var byteLen=0;
        var c = char.charCodeAt(0);
        byteLen += c < (1 <<  7) ? 1 :
                   c < (1 << 11) ? 2 :
                   c < (1 << 16) ? 3 :
                   c < (1 << 21) ? 4 :
                   c < (1 << 26) ? 5 :
                   c < (1 << 31) ? 6 : Number.NaN;

    return byteLen;
}

答案 1 :(得分:0)

您可以明确搜索特殊字符。

var regex = new RegExp("[.,\/#!$%\^&\*;:{}=\-_`~()0-9]+$");