var noticetext = { t: "提示信息", a: "不能为空!", n: "请填写数字!", s: "不能输入特殊字符!", p: "请填写邮政编码!", m: "请填写手机号码!", e: "邮箱地址格式不对!", u: "请填写网址!", r: "请填写正确信息!", w: "datatype未定义!", f: "两次输入的内容不一致!", c: "正在检测信息…", v: "所填信息没有经过验证,请稍后…", g: "正在提交数据…" }, regular = { a: /^[\w|&|\^|\.|\$|@|%|!|\(|\)|\*|\?|#|,|:|;|~|\\|\/|\[|\]|\-|\+|\||\{|\}|=|\u4E00-\u9FA5\uf900-\ufa2d]+$/,//验证字符 x: /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s\S]+$/,//验证字符中英文 w: /^\w+$/,//数字、字母(其他字母俄)、下划线字符 n: /^\d+$/,//验证数字 s: /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]+$/, h:/^[a-zA-Z0-9_]+$/,//验证数字,英文字母、下划线 //验证中文字符 b: /^[\u3400-\u4DB5\u4E00-\u9FA5\u9FA6-\u9FBB\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9\uFF00-\uFFEF\u2E80-\u2EFF\u3000-\u303F\u31C0-\u31EF\w\.\s%\}\{\*\+\-\(\)“”‘’《》()\[\]\(\)\<\>]+$/, //验证英文大小写 y: /^(a-z|A-Z)+$/, //验证中文 z: /^[\u4E00-\u9FA5\uf900-\ufa2d]+$/, //验证两位小数 d: /^\d{1,}(\.\d{2})?$/, //验证图片后缀 p: /^(.+)(\.(jpg|JPG)$|\.(jpeg|JPEG)$|\.(gif|GIF)$|\.(png|PNG)$)/, //验证网址 u: /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/, //验证手机号码 // m: /^13[0-9]{9}|14[57]{1}[0-9]{8}|15[012356789]{1}[0-9]{8}|170[0-9]{8}|18[0-9]{9}|17[678]{1}[0-9]{8}$/, m: /^1[34578]\d{9}$/, //验证电话号码 g: /^((\d{3,4})|(\d{3,4}-))?\d{8}$/, //验证email e: /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, //验证qq q: /^[1-9][0-9]{4,9}$/, //验证身份证号 ic:function (gets){ var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];// 加权因子; var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];// 身份证验证位值,10代表X; if (gets.length == 15) { return isValidityBrithBy15IdCard(gets); }else if (gets.length == 18){ var a_idCard = gets.split("");// 得到身份证数组 if (isValidityBrithBy18IdCard(gets)&&isTrueValidateCodeBy18IdCard(a_idCard)) { return true; } return false; } return false; function isTrueValidateCodeBy18IdCard(a_idCard) { var sum = 0; // 声明加权求和变量 if (a_idCard[17].toLowerCase() == 'x') { a_idCard[17] = 10;// 将最后位为x的验证码替换为10方便后续操作 } for ( var i = 0; i < 17; i++) { sum += Wi[i] * a_idCard[i];// 加权求和 } valCodePosition = sum % 11;// 得到验证码所位置 if (a_idCard[17] == ValideCode[valCodePosition]) { return true; } return false; } function isValidityBrithBy18IdCard(idCard18){ var year = idCard18.substring(6,10); var month = idCard18.substring(10,12); var day = idCard18.substring(12,14); var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day)); // 这里用getFullYear()获取年份,避免千年虫问题 if(temp_date.getFullYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){ return false; } return true; } function isValidityBrithBy15IdCard(idCard15){ var year = idCard15.substring(6,8); var month = idCard15.substring(8,10); var day = idCard15.substring(10,12); var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day)); // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法 if(temp_date.getYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){ return false; } return true; } }, } /* 倒计时 */ function clock(e,t) { var t = t?t:60,s = $(e); s.addClass('disabled'); var a = setInterval(function() { t--; s.text(t + '秒后重发'), 0 == t && (s.removeClass('disabled').text('获取验证码'), clearInterval(a)) },1e3) } /* 验证码刷新 */ function flushCode(that) { var url = that.src.replace(/((\.html)?|(\/t\/.+)?)$/g,''); that.src = url+'/t/'+(new Date()).getTime(); } function ajaxsm(url,data,callback,error,before) { $.ajax({ type:'post', dataType:'json', data:data, url:url, time:1000000, beforeSend:before, success:callback, error:error }); } /* 输入检查 */ function check(t) { if (!t.is('[datatype]')) {return '';} var l = t.attr('type'), v=$.trim(t.val()), s = t.closest('div').siblings('.o_check_tip'), d = t.attr('datatype'), f = t.attr('recheck'),p=''; if (s.length < 1) {s = t.closest('.o_cw').find('.o_check_tip');} if (v && v == $.trim(t.attr('placeholder'))) {v = '';} if (f) {p=t.closest('form').find('input[name='+f+']');} if (d.indexOf('-')>-1) {dr = d.slice(1),dr=dr.split('-'),ds=d.charAt(0),zh=regular[ds]+'';zh=zh.slice(2,-3);r=new RegExp('^'+zh+'{' + dr[0]+ ',' +dr[1]+ '}$');} else {r = regular[d]} if (s.hasClass('o_check_wrong')) {s.removeClass('o_check_wrong').text('');} if (l == 'checkbox') { if (t.is('[nullmsg]') && !t.is(':checked')) {s.removeClass('o_check_right').addClass('o_check_wrong').text(t.attr('nullmsg'));return false;} } else { if (t.is('[nullmsg]') && (/^[a|w|n|s|y|z|d|u|m|e|q|p|g|b|h|(ic)]/.test(d)) && ( v == '')) {s.removeClass('o_check_right').addClass('o_check_wrong').text(t.attr('nullmsg'));return false;} if (typeof r == 'function') { if(t.is('[errormsg]') && v && !r(v)) { s.removeClass('o_check_right').addClass('o_check_wrong').text(t.attr('errormsg'));return false; } } else { if (t.is('[errormsg]') && (v) && !r.test(v)) {s.removeClass('o_check_right').addClass('o_check_wrong').text(t.attr('errormsg'));return false;} } if (t.is('[errormsg]') && p && p.val() != t.val()) {s.removeClass('o_check_right').addClass('o_check_wrong').text(t.attr('errormsg'));return false;} } console.log(v,t.is('[ajaxurl]'),t.attr('ajaxurl')); if (v && t.is('[ajaxurl]') && t.attr('ajaxurl')) { ajaxdata=t.attr('ajaxdata')+'='+v; $.ajax({ async: false,type:'post',dataType:'json',url:t.attr('ajaxurl'),data:ajaxdata,success:function(data){ if(data.status==0){ s.removeClass('o_check_right').addClass('o_check_wrong').text('*'+data.msg);return false; } },error:function(){ }}); } return true; }