
关于表单插件validate,相信很多人用过,尤其是在jQuery时代。validate插件在开发中,给了我们很大的帮助,省去了很多的时间。今天我们来分享下关于插件validate拓展应用。
拿个实例说明下,在项目中我们需要验证全角输入的判断,正常情况下,是没有这个功能的,所以需要添加,如何操作呢?往下看!!!
基础
以下代码是一个用户名输入框,需要我们输入全角的日文,如下:
<input type="text" value="" class="applic-inp" id="customerName" name="customerName" />
正常情况下,我们需要先判断输入内容是否为空。我们用插件validate,可以这样来写。
var validate = $("#formCon").validate({
rules:{
customerName:{
required:true
}
},
messages:{
customerName:{
required:"请输入用户名",
}
}
})这样输入判断就算完成了,但是我们需要输入的是全角的文字,这时候我们需要在这个基础上增加判断。由于不能直接应用,需要拓展功能,往下看。
实例应用
插件validate官方文档有一个拓展的方法,如下代码:
$.validator.addMethod("allInput", function(value, element) {
return this.optional(element) || /^([ァ-ヶーぁ-ん]+)$/.test(value);
});上面代码,我们定义了一个allInput的全角输入判断功能。那么如何去使用它呢?其实很简单的,我们在上面的验证代码添加下:
var validate = $("#formCon").validate({
rules:{
customerName:{
required:true,
allInput:true
}
},
messages:{
customerName:{
required:"请输入用户名",
allInput:"请输入全角名"
}
}
})大家可以看到我们直接对用户名添加了allInput的规则和信息提示,这样在当你输入不是全角的时候,会提示:

是不是很简单呢?
更多拓展
除了上面的插件validate全角功能以外,还有很多,这里分享一些:
// 仅全角平假名/片假名
jQuery.validator.addMethod("kana", function(value, element) {
return this.optional(element) || /^([ァ-ヶーぁ-ん]+)$/.test(value);
}, "<br/>全角ひらがな・カタカナを入力してください"
);
// 仅全角平假名
jQuery.validator.addMethod("hiragana", function(value, element) {
return this.optional(element) || /^([ぁ-ん]+)$/.test(value);
}, "<br/>全角ひらがなを入力してください"
);
// 仅限双字节片假名
jQuery.validator.addMethod("katakana", function(value, element) {
return this.optional(element) || /^([ァ-ヶー]+)$/.test(value);
}, "<br/>全角カタカナを入力してください"
);
// 仅半角片假名
jQuery.validator.addMethod("hankana", function(value, element) {
return this.optional(element) || /^([ァ-ン゙゚]+)$/.test(value);
}, "<br/>半角カタカナを入力してください"
);
// 只有半角字母(大写/小写)
jQuery.validator.addMethod ("alphabet", function (value, element) {
return this.optional (element) || / ^ ([a-zA-z \ s] +) $ /.test(value);
}, "<br />请输入半角字母"
);
// 半角字母(大写/小写)或仅数字
jQuery.validator.addMethod ("alphanum", function (value, element) {
return this.optional (element) || / ^ ([a-zA-Z0- 9] +) $ /.test(value);
}, "<br />请输入半角字母数字字符"
);
// 邮编 (eg: 012-3456)
jQuery.validator.addMethod ("postnum", function (value, element) {
return this.optional (element) || / ^ \ d {3} \-\ d {4 } $ /.test(value);
}, "<br /> 请输入您的邮政编码(如123-4567)"
);
// 手机号(例:010-2345-6789)
jQuery.validator.addMethod ("mobilenum", function (value, element) {
return this.optional (element) || / ^ 0 \ d0- \ d {4} -\ d {4} $ /.test(value);
}, "<br />请输入您的手机号码(如010-2345-6789)"
);
// 电话号码 (eg: 012-345-6789)
jQuery.validator.addMethod ("telnum", function (value, element) {
return this.optional (element) || / ^ [0-9-] {12} $ / .test(value);
}, "<br />请输入您的电话号码(eg: 012-345-6789)"
);
// 仅全角
jQuery.validator.addMethod ("zenkaku", function (value, element) {
return this.optional (element) || / ^ [^-~.-゜] * $ / .test (value) ;
} , "<br /> 请只输入全角字符"
);
// 仅 ASCII 字符
jQuery.validator.addMethod ("ascii", function (value, element) {
return this.optional (element) || / ^ [\ x20- \ x7E] + $ / .test (value);
} , "<br />请输入ASCII字符"
);收藏下吧。




网友评论文明上网理性发言 已有0人参与
发表评论: