我正在使用jQuery.validate插件验证用户注册表单的输入。
我的简单案例工作(确保用户名至少为6个字符)
$('#new_user').validate({
rules: {
"user[name]": {
required: true,
minlength: 6,
remote:"/check_name"
}, ...
我想在上述规则中添加一个警告是允许至少2个汉字或6个常规字符通过长度测试。 (这被认为是中国用户的良好可用性,其中许多人在现实生活中有2-3个汉字名称)
例如,我希望以下名称通过长度测试:
“张三” “迈克尔”
以及以下名称失败(由于太短) “张” “迈克”
如何编写自定义javascript函数来检查这些条件?
答案 0 :(得分:4)
类似的东西:
function validate(string) {
var re = /^[\u3300-\u9fff\uf900-\ufaff]{2,}$/;
return string.length >= 6 || string.match(re);
}
validate("pat")
validate("patate")
validate("中")
validate("中国")
有关详细信息,请参阅Unicode路线图[1]
答案 1 :(得分:1)
您可以使用i nternationalization plugin以便进行此测试:
function returnMinLength(){
var browserLanguage = jQuery.i18n.browserLang();
if (browserLanguage == "zh") // zh stands for chinese (I'm not sure)
return 2;
else
return 6;
}
然后,在你的函数中:
rules: {
"user[name]": {
required: true,
minlength: returnMinLength(),
remote:"/check_name"
}, ...
问候。