部落格參考:http://blog.csdn.net/yangxiaovip/article/details/21550145
jquery.validate.js 是一個前端 form 表單校驗插件,具體詳情可以百度一下。
jquery.validate.js 不僅自身内置有封裝一些常用的前端校驗,還提供便捷的 自定義校驗方法 進行拓展。
前端内置自帶校驗:
required:true 必填字段
remote:"check.php" 使用ajax方法調用check.php驗證輸入值
email:true 輸入内容必須為正确格式的電子郵件
url:true 輸入内容必須為正确格式的網址
date:true 輸入内容必須為正确格式的日期
隻驗證格式,不驗證有效性
number:true 輸入内容必須為合法的數字(負數,小數)
digits:true 輸入内容必須為整數
creditcard: 輸入内容必須為合法的信用卡号
equalTo:"#field" 輸入值必須和#field相同
accept: "gif|png|jpg" 輸入擁有合法字尾名的字元串(上傳檔案的字尾),多個字尾之間用’|’隔開
maxlength:5 輸入長度最多是5的字元串(漢字算一個字元)
minlength:10 輸入長度最小是10的字元串(漢字算一個字元)
rangelength:[5,10] 輸入長度必須介于 5 和 10 之間的字元串")(漢字算一個字元)
range:[5,10] 輸入值必須介于 5 和 10 之間
max:5 輸入值不能大于5
min:10 輸入值不能小于10
自定義校驗方法:
//普通 正則驗校驗例子 :隻允許輸入中文或字母
$.validator.addMethod("chineseAndLetter", function(value, element) {
var score = /^[a-zA-Z\u4e00-\u9fa5]+$/;
return this.optional(element) || (score.test(value));
}, "請輸入中文或字母");
// 根據腳本調用驗證方法時設定參數進行輔助校驗 例子:校驗輸入内容的長度(中文算兩個位元組) 單個參數
jQuery.validator.addMethod("byteLength", function(value, element,param) {
var length ="";
var regu = "^[a-zA-Z\u4e00-\u9fa5]+$";
var re = new RegExp(regu);
if (value.search(re) != -1) {
length = value.replace(/[\u0391-\uFFE5]/g, "aa").length;
}
return this.optional(element)|| (length >= param); //parm:js中調用該方法時傳入的參數,例如:byteLength:4
}, $.validator.format("請至少輸入 {0} 個位元組内容(一個中文算2個位元組)"));
//前端腳本傳入多個參數
jQuery.validator.addMethod("byteRangeLength", function (value, element, param) { var length = value.length; for (var i = 0; i < value.length; i++) { if (value.charCodeAt(i) > 127) { length++; } } return this.optional(element) || (length >= param[0] && length <= param[1]); //前端腳本傳入多個參數,param[0] 取第一個傳入的參數;
//parm[1] 取傳入的第二個參數
//前端腳本調用改方法:byteRangeLength: [2,10]
}, $.validator.format("請確定輸入的值在{0}-{1}個位元組之間(一個中文字算2個位元組)"));