2

如何防止使用 jquery 输入中文字符?

$.validator.addMethod("regex", function(value, element, regexp) {
       var check = false;
            return this.optional(element) || regexp.test(value);
     },
   " Must contain only letters."
 );

这就是我检查输入是否是字母的方式。

regex: /^\s*[a-zA-Z\s]+\s*$/

但是如何查看汉字呢?

4

2 回答 2

4

这可能有用:</p>

function isChn(str){
    return /^[\u4E00-\u9FA5]+$/.test(str);
}

http://jsfiddle.net/yiqiang1314/CMv7E/

于 2013-05-31T03:14:19.137 回答
0

问题不在于您的正则表达式 - 您已经阻止了除 az 和空格之外的每个字符(并且 az 范围内没有汉字)。但是,您的功能逻辑有问题。按照目前的写法,如果该字段是可选的,则允许使用中文字符。只有当它是可选的并且为空时,您才应该跳过正则表达式测试:

return (!value && this.optional(element)) || regexp.test(value);
于 2013-06-03T04:03:42.363 回答