var common = { //input监听事件 Immediately: function (element, webChange) { if (typeof element === "string") element = document.getElementById(element); if (!$.support.leadingWhitespace) { element.onpropertychange = function () { webChange(element) }; } else { element.addEventListener("input", function () { webChange(element) }, false); } } } var _v = { //非空验证 v_isnull: function (str) { if (this.trim(str) == '') { return false; } return true; }, //字符串是否有空字符 v_str_s: function (str) { var n_reg = /\s/; if (n_reg.test(str)) { return false; } return true; }, //验证字符范围 v_str_len: function (str, len, len2) { if (str.length < len || str.length > len2) { return false; } return true; }, //密码比较 v_string: function (str1, str2) { if (str1 != str2) { return false; } return true; }, //手机验证 v_phone: function (str) { var reg = /^1[0-9]{10}$/; if (!reg.test(str)) { return false; } return true; }, //密码强度 checkStrong: function (sValue) { /** 强度规则 + ------------------------------------------------------- + 1) 任何少于6个字符的组合,弱;任何字符数的同类字符组合,弱; 2) 任何字符数的两类字符组合,中; 3) 12位字符数以下的三类或四类字符组合,强; 4) 12位字符数以上的三类或四类字符组合,非常好。 + ------------------------------------------------------- + **/ var modes = 0; if (sValue.length < 6) return modes; if (/\d/.test(sValue)) modes++; //数字 if (/[a-z]/.test(sValue)) modes++; //小写 if (/[A-Z]/.test(sValue)) modes++; //大写 if (/\W/.test(sValue)) modes++; //特殊字符 switch (modes) { case 1: return 1; break; case 2: return 2; break; case 3: if (sValue.length >= 12) { return 4; } return sValue.length > 10 ? 3 : 2; break; case 4: return sValue.length > 12 ? 4 : 3; break; } }, //15位和18位身份证号码的正则表达式 validateIdCard: function (idCard) { var regIdCard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if (!regIdCard.test(idCard)) { return false; } return true; }, //去除前后空格 trim: function (s) {//去除多于空格 s = s || ''; return s.replace(/^\s*|\s*$/g, ''); }, //6位验证码 v_code: function (str) { if (!this.v_str_s(str)) return false; var reg1 = /^\d{6}/; if (!reg1.test(str)) return false; return true; } }
在验证中利用input focus改变hidden的值 <input type="hidden" id="rhid" value="0" autocomplete="off" />
可以有效的表达表单是否可以提交!不要使用提交时又验证一次!
autocomplete="off"//可以防止浏览的深度缓存,如火狐