2016-12-14 38 views
0

我知道我可以用下面的代码来做到这一点。但是,它不允许我在文本字段中输入印地文或马拉地语字符。jQuery验证 - 如何限制用户在文本字段中输入数字和特殊字符?

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"); 

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

回答

0

印地文/ 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; 

}

0

你可以明确地对特殊字符进行搜索。

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

它也不允许大写字母,例如ABCD。否则它工作正常。 – ashishjmeshram

相关问题