/*! * 琛ㄥ崟楠岃瘉-v2.6.0 * Author yeshiqiu_337676937 * Date:2020骞?鏈?鏃 15:22:35 */ // //姝e垯楠岃瘉 $(function(){ /*! * 浣跨敤璇存槑 * ajax鍗昿d楠岃瘉璋冪敤.$.Y_Form.RegEx(a,b,c)杩斿洖boole * data('callback',function(){"缁戝畾ajax鍑芥暟"}) * item.connect-check // 婊¤冻鍐呴儴涓€涓猵d鍗冲彲 * :radio,:checkbox .else-g 缁戝畾 input.else-t 楠岃瘉 * label 閿佸畾锛坧arents->.locked锛 */ /*閫氱敤*/ $(document).ready(function() { $.Y_Form(); $.Y_Form.bindForm($(".formCheck")); $.Y_Form.bindEvents($("input.skin,textarea.skin,select.skin")); $(".radio :radio,.checkbox :checkbox").prop({"checked":function(){ return this.checked&&$(this).parent().hasClass("on"); }}); // $(".city-Select").each(function(idx,oE) { // var add=($(oE).attr("data-add")||'').split("-"); // $(oE).thirdSelect({ // fir: add[0]||"鍥涘窛" // ,sec: add[1]||"鎴愰兘" // ,thr: add[2]||"姝︿警鍖? // }); // }); // 鍩虹浜嬩欢 $("form").delegate('.numOnly', 'keyup change', function(eve) { // 浠呭厑璁告暟瀛椾笌[.]; $(this).val($(this).val().replace(/[^0-9\.]/g,'')); }); /*placeholder-ie7*/ "placeholder" in document.createElement("input")||$("[placeholder]").each(function(e,n){if("password"!=$(n).attr("type")){var t=$(n).attr("placeholder"),o=$(n).css("color");(isNull($(n).val())||$(n).val()==t)&&$(n).val(t).css("color","#888"),$(n).focus(function(){$(n).val()==t&&$(this).val("").css("color",o)}).blur(function(){isNull($(this).val())&&$(this).val(t).css("color","#888")})}}); /*label.focus*/ $b.delegate("label", "click", function(e) { if($(this).parents('.locked').length)return !1; if($(this).is(".focus")){ $(this).parent().find(".skin").eq(0).focus(); } else{var $ipt=$(this).parent().find('input,.bindClick'),$p=$ipt.parents(".formItem"); // $ipt.is(".bindClick")&&$ipt.trigger('click'); $ipt.is(':radio')&&($ipt.prop('checked',!0),onoff($ipt.parent()), $('.buts',$p).attr("pd")!="not"&&$p.removeClass("red").find(".aftPD").remove()); $ipt.is(':checkbox')&&($ipt.prop('checked',!$ipt.prop('checked')).parent().toggleClass('on'), $('.buts',$p).attr("pd")!="not"&&$ipt.prop('checked')&&$p.removeClass("red").find(".aftPD").remove()); } }); /*label.focusHide--event*/ $b.find('label.focusHide').siblings('.skin').each(function(i,e){ $(e).siblings('.focusHide').hide(); isNull($(this).val())&&$(this).siblings('.focusHide').show(); $(e).focus(function(e){$(this).siblings('.focusHide').hide();}). blur(function(e){isNull($(this).val())&&$(this).siblings('.focusHide').show();});}); }); // 鏂规硶s (function(){ $.Y_Form=function(){ var symbol = {l:"",r:""}, dataPw = {words:[],len:[]}, flags = {common:!0,checkbox:!1,password:!1}, enterAble = !1; // formJasonData var F_Name=[],F_Json=[]; // 缁戝畾 change focus keyup blur 楠岃瘉 $.Y_Form.console = function ($f){cw(decodeURIComponent($f.serialize(),true));}; $.Y_Form.bindEvents = function ($e){ $e.off("focus.regex").on("focus.regex", function(eve) { $(this).addClass("_focus"); if ($(this).parents('.formItem.not').length) {return !0; } // var $target=$(this).parents(".formItem").hasClass('_f')?$(this).parents(".formItem"):$(this); $(this).is("select")&&$.Y_Form.checkConnect($(this)); }).off("blur.regex").on("blur.regex", function(eve) { $(this).removeClass("_focus"); if ($(this).parents('.formItem.not').length) {return !0; } $.Y_Form.checkConnect($(this)); // var $target=$(this).parents(".formItem").hasClass('_f')?$(this).parents(".formItem"):$(this); $(this).is("select")&&$.Y_Form.checkConnect($(this)); }).off("keyup.regex").on("keyup.regex", function(eve) { if ($(this).parents('.formItem.not').length||(eve.keyCode==9)/*Tab*/) {return !0; } $.Y_Form.checkConnect($(this)); }).off("change.regex").on("change.regex", function(eve) { if ($(this).parents('.formItem.not').length) {return !0; } // var $target=$(this).parents(".formItem").hasClass('_f')?$(this).parents(".formItem"):$(this); $(this).is("select")&&$.Y_Form.checkConnect($(this)); }); }; $.Y_Form.checkForm = function ($e) { var $F=$e.parents("form"),_addLine=$F.hasClass('addLine'); flags={common:!0,checkbox:!0,password:!0};$F[0].onceSwitch=!0;//_addLine&&$F.data("once",!0); $F.find(".formItem").not(".not,:hidden").each(function(ix,ex) { var $item=$(ex),nFirstFalse=0,bFirst=!1; _false($(ex).find("[pd]")); // _addLine&&$('.warnLine',$item).length&&$('.warnLine',$item).remove(); if($(":radio,:checkbox",$item).length&&$(".buts",$item).attr("pd")!="not"&&!isNull($(".buts",$item).attr("pd"))){ //check // if($(".buts",$item).attr("pd")=="not"){return;} flags.checkbox=!1; _false($item); ($F.hasClass("_tipAll")||$F[0].onceSwitch)&&$(":radio,:checkbox",$item).each(function(i,e){ if($(e).prop("checked")===!0){ if($(e).is('.else-g')){ var $x=$(e).siblings('.else-t'); flags.checkbox=$.Y_Form.RegEx($x.attr("pd"),$x.val(),$x); }else{flags.checkbox=!0;} return !0; } }); c(flags.checkbox) !flags.checkbox?$.Y_Form.Warning($(".buts",$item),!0,bFirst/*,_addLine*/):_true($item); } else if($("[pd]",$item).length) { $("[pd]",$item).each(function(i,e) { if($(e).attr("pd")=="not"){return;} var $pd=$(e), sPD=$pd.attr("pd"), sVal=$pd.val(); if($pd.is("select")&&$pd.css("display")=="none"){return;} if($pd.parents('.connect-check').length){ var _T=$pd.parents('.connect-check'),_F=!1; _T.find('[pd]').each(function(iy,ey) { var _$pd=$(ey), _sPD=_$pd.attr("pd"), _sVal=_$pd.val(); $.Y_Form.RegEx(_sPD,_sVal,_$pd)&&(_F=!0); }); if(!_F){ /*$item.find('.pxxdAfter').show();*/ $.Y_Form.Warning(_T,!1,bFirst/*,_addLine*/); flags.common=!1;} else{_true(_T.find('[pd]')); } }else{ if(isNull(sVal)) { $.Y_Form.Warning($pd,!1,bFirst/*,_addLine*/); flags.common=!1; }else if(!$.Y_Form.RegEx(sPD,sVal,$pd)) { $.Y_Form.Warning($pd,!0,bFirst/*,_addLine*/); flags.common=!1; }else {} } }); $F.find(':password').length>1&&$.Y_Form.CheckPW($F.find(':password'),!0); //password } }); if(flags.common&&flags.password&&flags.checkbox){!0&&c("楠岃瘉閫氳繃");return !0; }else{!0&&ce("楠岃瘉澶辫触");return !1 } }; //:text [wran="濮撳悕"]; :radion,:checkbox,selection [default="绫诲瀷"] //ele , isNull , isScrollTo $.Y_Form.RegEx = function (e, r, a) {// $.Y_Form.RegEx(sPD,CONTENT,THIS) function getTF(){ function _own(e) { for(var r=0;r "2+3=2+3=5=5" // "1234 2345".replace(/(\d)\d{2}(\d)/g, function(match, $1, $2, index, input) { console.log([match, $1, $2, index, input]); }); // => ["1234", "1", "4", 0, "1234 2345 3456"] => ["2345", "2", "5", 5, "1234 2345 3456"] case"not": return !0; case"notnull": return !isNull(r)&&!_own(r); case"sex": return (r=="鐢?)||(r=="濂?); case"birthday": return /^(?:19|2[0-9])\d{2}\-(?:0[1-9]|1[1-2])\-(?:0[1-9]|[12]\d|3[01])$/.test(r); case"age": return /^\d{1,3}$/.test(r); case"name": return !!navigator.userAgent.match("iPhone OS")?!isNull(r):(r!=F_Json.name&&/^[\u4e00-\u9fa5]+$|^[a-zA-Z][a-zA-Z ]+$/.test(r)); case"sfz": return /^[1-9]\d{5}(?:(?:(?:18|19|[23]\d)\d{2}(0[1-9]|1[0-2])([1-9]|[12]\d|3[01])\d{3})|(?:\d{2}(0[1-9]|1[0-2])([1-9]|[12]\d|3[01])\d{2}))[0-9Xx]$/.test(r); case"tel": return /^(?:1)\d{10}$/.test(r); case"fixedline":return /^(?:0[1-9]\d)-\d{8}$|^0[1-9]\d{2}-\d{7,8}$/.test(r); case"contact": return $.Y_Form.RegEx("fixedline",r,a)||$.Y_Form.RegEx("tel",r,a); case"post": return /^[1-9]\d{5}(?!d)|0[1-9]\d{4}(?!d)$/.test(r); case"fax": return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/.test(r); case"email": return /^\w+(?:\.\w+)*@\w+(?:\.\w+)+$/.test(r); case"qq": return /^[1-9]\d{4,10}$/.test(r); case"sel": return (isNull(r)||r=='none')?!1:!0; case"bank": return /^\d{16}|\d{19}$/.test(r); case"bankCVV": return /^\d{3,4}$/.test(r); case"num": return /^\d+(?:\.\d+)?$/.test(r); case"integer": return /^\d+$/.test(r); case"account": return /^[a-zA-Z][\w|\_]{5,17}$/.test(r); case"account2": return $.Y_Form.RegEx("email",r,a)||$.Y_Form.RegEx("tel",r,a); case"account3": return $.Y_Form.RegEx("account",r,a)||$.Y_Form.RegEx("account2",r,a); // case"password": return /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/.test(r); case"password": return /^\w{4,20}$/.test(r); case"yzm4": return /^\w{4}$/.test(r); case"yzm6": return /^\w{6}$/.test(r); // case"yzm": return new RegExp("^\\w{"+a.attr("limit")+"}$").test(r); // case"code": return new RegExp("^\\d{"+a.attr("limit")+"}$").test(r); case"less": return r.lengthNumber(a.attr("lmt_more")); case"size": return /^(\d{1,3}(\.5)?)(,\d{1,3}(\.5)?)*$/.test(r); //灏虹爜(鏍煎紡):33,34,35 default: return c(e),!0; } } return getTF()?_true(a):_false(a); }; $.Y_Form.checkConnect = function($pd) { if ($pd.parents(".connect-check").length) { var $P = $pd.parents(".connect-check"), bTruth = !1; $P.find("[pd]").each(function(i, oPd) { var $oPd = $(oPd), sPd = $oPd.attr("pd"), sVal = $oPd.val(); $.Y_Form.RegEx(sPd, sVal, $oPd) && (bTruth = !0); }), bTruth ? _true(oPd.find("[pd]")) : ($pd.parents("form")[0].onceSwitch && ($.Y_Form.Warning(oPd), $pd.parents("form")[0].onceSwitch = !1), flags.common = !1) } else { $.Y_Form.RegEx($pd.attr("pd"), $pd.val(), $pd)&&$(".aftPD",$pd.parents(".formItem")).remove(); } }; // checkPassword $.Y_Form.CheckPW = function ($Pw,ckPW){ if($Pw.parents("form").attr('bCheckPW')==0){return ;} var MinL=0,NewPw=$Pw.length==3?1:0, dataPw={words:[],len:[]},$F=$Pw.parents("form"); ckPW?(flags.password=!1):$Pw.siblings('.aftPD').remove(); $Pw.each(function(i,e) {dataPw.words.push($(e).val()); dataPw.len.push($(e).val().length); }); if(dataPw.len[0]>=MinL&&dataPw.len[1]>=MinL){ //婊¤冻闀垮害 if(NewPw&&dataPw.words[0].length>0&&dataPw.words[1].length>0&&(dataPw.words[0]==dataPw.words[1])){ var words="鏂板瘑鐮佷笉鑳戒笌鍘熷瘑鐮佺浉鍚?; if(ckPW){$F[0].onceSwitch&&($Pw.parents("._tipPop").length&&Y_Tan(words),$F[0].onceSwitch=!1); } else{$Pw.eq(1).after(addWords(words,"warn-pw")); } } if((dataPw.len[NewPw+1]>=MinL)&&(dataPw.words[NewPw]!=dataPw.words[NewPw+1])){ var _x=NewPw?"鏂?:"",words=(dataPw.len[NewPw]==dataPw.len[NewPw+1])?_x+"瀵嗙爜涓嶄竴鑷?:_x+"瀵嗙爜闀垮害涓嶄竴鑷?; if(ckPW){$F[0].onceSwitch&&($Pw.parents("._tipPop").length&&Y_Tan(words),$F[0].onceSwitch=!1); } else{$Pw.eq(NewPw+1).after(addWords(words,"warn-pw")); } } else{flags.password=!0;} } else {} }; //e:obj;r:(!0?濉啓鍚嶛鏈~鍐?,;(hint:"鏈~鍐欐彁绀鸿鍙?;warning,"濉啓閿欒璀︾ず璇彞");warn:鎻愮ず鐩爣;; $.Y_Form.Warning = function (e, r,bFirst/*, _addL*/) { var $F=e.parents("form"),$P=e.is(".formItem")?e:e.parents(".formItem"); // $F.find('.aftPD').remove(); // $('.pxxdAfter',$F).length&&(e.is(".formItem")?$('.pxxdAfter',e).show():$('.pxxdAfter',$P).show()); if($F.hasClass("_tipAll")){ $F.hasClass("notScroll")||$F[0].onceSwitch&&Y_BodyScroll({goal:e.offset().top-w.height()/2,dur:200,cbk:function(){$F[0].onceSwitch=!0;}}); _deal($F[0].onceSwitch); }else{$F[0].onceSwitch&&($F.hasClass("notScroll")?_deal(!0):Y_BodyScroll({goal:e.offset().top-w.height()/2,dur:200,cbk:function(){_deal(!0);}})); } $F[0].onceSwitch=!1; // function _deal(bFocus){ function _focus(){bFocus&&e.focus();} if($F.hasClass('_noHint')){ _focus(); } else{ // _addL&&_addL!=2&&e.siblings('.warnLine').length&&e.siblings('.warnLine').remove(); var _txt='' + ((e.attr("warn")||(e.is(".formItem")?$('.focus',$P).text():e.attr("placeholder")) || '').replace(/璇疯緭鍏璇烽€夋嫨|\ |\ |\ |\鈥倈\ |\銆€|\*|\锛殀|\:|\:/g, '')) + ''; _txt=r?((e.is(":text")||e.is("textarea")||e.is(":password"))?(e.attr("warning")||((symbol.l+_txt+symbol.r)+"鏍煎紡杈撳叆閿欒")):(e.attr("warning")||"璇烽€夋嫨"+(symbol.l+_txt+symbol.r))):(e.attr("hint")?e.attr("hint"):("璇疯緭鍏?+(symbol.l+(e.is(":password")?_txt||"瀵嗙爜":_txt||"鍐呭")+symbol.r))); /*if(_addL&&_addL!=2){e.after('
'+_txt+'
');$F.data("once")&&$F.data("once",!1);} else */if($F.hasClass('_tipPop')) { Y_Tan(_txt,{fnNo:function(){ _focus(); }});} else if($F.hasClass('_tipTop')) { $(".topTip",$F).length||$F.append('
'); var $tw=$(".topTip",$F); $tw.html(_txt); setTimeout(function(){$tw.removeClass('_hide');},1); clearTimeout($tw[0].timer); $tw[0].timer=setTimeout(function(){$tw.addClass('_hide');},1000); $F.data("tipCallback")?$F.data("tipCallback").call(this,$F,_focus):_focus();} else if($F.hasClass('_tipWords')) { $(".aftPD",$P).remove();$P.append(addWords(_txt,"warn-words")); $F.data("tipCallback")?$F.data("tipCallback").call(this,$F,_focus):_focus();} // else if($F.hasClass('_tipIco')) { // // $(".aftPD",$P).remove();$P.append(addWords('銊?,"warn-ico")); // $F.data("tipCallback")?$F.data("tipCallback").call(this,$F,_focus):_focus();} // else if($F.find('.pxxdAfter').length) { // $('.pxxdAfter',$P).hide();e.focus();} else { _focus(); } } } }; $.Y_Form.bindForm = function($form){ // var def={Animate:!0,async:!1};opt=$.extend({},def,opt); $form = $form || $(".formCheck"); F_Json=''; $("[pd]",$form).each(function(i, e) { var $e=$(e); isNull($e.attr("pd")) && $e.attr("pd", "not"); var words=$e.attr("placeholder")||$e.parents(".formItem").find(".focus").text().replace(/\锛殀\:/g,''); i > 0 && (F_Json += ","); F_Name.push(words); F_Json += $e.attr("pd") + ':"' + words + '"'; }); F_Json = eval("({" + F_Json + "})"); /* events*/ // passwordBlur $form.find(":password").blur(function(){$.Y_Form.CheckPW($form.find(":password")); }); // submit $form.find("[type=submit]").undelegate("click.enterForm"); $form.delegate("[type=submit]","click.enterForm",function(event){ var $F=$(this).parents("form"); if ($F.attr("data-ajax") == "true") { if($.Y_Form.checkForm($(this))){ $F[0].fnSubmit && $F[0].fnSubmit.call(this, $F); } return prevent_default(event); } else if (!$.Y_Form.checkForm($(this))) { $(this).hasClass('interact') && $(this).Y_Animation("headShake"); return prevent_default(event); } }); // reset $form.find(".reset").undelegate("click.resetForm"); $form.delegate(".reset","click.resetForm",function(event){ var $form=$(this).parents("form"); prevent_default(event); Y_Tan("灏咟strong style='color:red'>娓呯┖鎵€鏈夊凡濉啓鍐呭,璇峰啀娆$‘璁ゆ槸鍚﹂噸缃?,{bAutoClose:!1, fnNo:function(){}, fnYes:function(){ $form.find('[type=reset]').trigger('click'); $form.find('.red').removeClass("red"); $form.find('.buts .btn').removeClass("on"); $form.find('.aftPD').remove(); /*window.location.reload()*/ } }) }); }; }; })(); function addWords(e,c){ return ""+e+"";} function _true(e) { if(!e.is(".formItem")){e=e.parents(".formItem");} return (e.hasClass("red")&&e.removeClass("red"),!0);} function _false(e){ if(!e.is(".formItem")){e=e.parents(".formItem");} return (e.hasClass("red")||e.addClass("red"),!1);} });