使用jquery防止中文字符输入

如何使用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*$/ 

但是我如何查看中文字符?

这可能很有用:

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

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

问题不在于您的正则表达式 – 您已经阻止了除az和空格之外的所有字符(并且在az范围内没有中文字符)。 但是,你的function逻辑存在问题。 正如目前所写,如果该字段是可选的,则允许使用中文字符。 你应该只在可选空的情况下跳过正则表达式测试:

 return (!value && this.optional(element)) || regexp.test(value);