之前遍查不到validator的addMethod用法 官方的文件也不是說的很明白 由於我需要用正規化來做一些原本validator沒有的驗証規則
所以只能用addMethod的方法 大家可以參考下列的用法 用addMethod新增一個規則後 你可以自訂要針對這個規則所做出反應跟自訂錯誤訊息! 如果要套用這個規則,可以在html 元件中,加上class="自訂規則名" 即可套用了! 我研究的沒有很透徹啦..但可以用就好..
- < script type = " text/javascript " >
- $ ( document ) . ready ( function ( e ) {
- jQuery . validator . addMethod ( " test " , function ( value , element ) { //設增一個自訂規則test
- var result = this . optional ( element ) || value . length >= 5 && / d / . test ( value ) && / [a-zA-Z] /i . test ( value ) ;
- //用正規化表示式去設定validator所沒有的驗証規則
- if ( ! result ){
- element . value = "" ; //控制套用自訂規則的元件的程式碼可以在此設定
- }
- return result ;
- } , " 自訂錯誤訊息.<br> " ) ;
- }) ;
- < / script> <form> <input type="text" id="t1" class="test"> < / form >
- --------------------
- $(function ()
{
if (jQuery.validator)
{
//字母数字
jQuery.validator.addMethod("alnum", function (value, element)
{
return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value);
}, "只能包括英文字母和数字");
// 手机号码验证
jQuery.validator.addMethod("cellphone", function (value, element)
{
var length = value.length;
return this.optional(element) || (length == 11 && /^(1\d{10})$/.test(value));
}, "请正确填写手机号码");
// 电话号码验证
jQuery.validator.addMethod("telephone", function (value, element)
{
var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
return this.optional(element) || (tel.test(value));
}, "请正确填写电话号码");
// 邮政编码验证
jQuery.validator.addMethod("zipcode", function (value, element)
{
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, "请正确填写邮政编码");
// 汉字
jQuery.validator.addMethod("chcharacter", function (value, element)
{
var tel = /^[\u4e00-\u9fa5]+$/;
return this.optional(element) || (tel.test(value));
}, "请输入汉字");
// 汉字
jQuery.validator.addMethod("qq", function (value, element)
{
var tel = /^[1-9][0-9]{4,}$/;
return this.optional(element) || (tel.test(value));
}, "请输入正确的QQ");
// 用户名
jQuery.validator.addMethod("username", function (value, element)
{
return this.optional(element) || /^[a-zA-Z][a-zA-Z0-9_]+$/.test(value);
}, "用户名格式不正确");
}
});
沒有留言:
張貼留言