懂得放弃,才会有新的收获!

javascript 表单验证 类

By weisnet On 2009-05-04 At 20:30 View:330

//onfocusFunc 验证脚本 .js文件

//Power By gloot

//QQ: 345268267

///////////////////////////////////////

XML/HTML
  1. <script language="javascript" type="text/javascript">var WebCheck = new onfocusFunc();</script>
  2. <div id="Mainbody">
  3. <div class="Mainbody_line">
  4.      <div class="liLeft">
  5.       用户名:
  6.      </div>
  7.      <div class="liCenter">
  8.       <input name="regUser" id="regUser" type="text" />
  9.      </div>
  10.      <div class="liRight">
  11.       <div id="regUser_Info">
  12.       </div>
  13.      </div>
  14.     </div>
  15.     <div class="Mainbody_line">
  16.      <div class="liLeft">
  17.       登陆密码:
  18.      </div>
  19.      <div class="liCenter">
  20.       <input name="regPass" id="regPass" type="password" />
  21.      </div>
  22.      <div class="liRight">
  23.       <div id="regPass_info"></div>
  24.      </div>
  25.     </div>
  26.     <div class="Mainbody_line">
  27.      <div class="liLeft">
  28.       确认密码:
  29.      </div>
  30.      <div class="liCenter">
  31.       <input name="cfrPass" id="cfrPass" type="password" />
  32.      </div>
  33.      <div class="liRight">
  34.       <div id="cfrPass_info"></div>
  35.      </div>
  36.     </div>
  37. </div>
  38. <div class="SubReg">
  39.      <input language="javascript" onclick="if (!SendformResult()) return false; __doPostBack('subReg','')" name="subReg" id="subReg" type="button" value="提交信息" /><br>
  40. </div>
  41. <script language="javascript" type="text/javascript">initForm();</script>
  42. //end

看看上面页面代码中各位文本框后是没有提示信息的页面代码这边(但图片是有的).

JavaScript
  1. //js文件
  2. var onfocusFunc = function() {}
  3. var state = false;
  4. var ComDo = new onfocusFunc();
  5. onfocusFunc.prototype.focus = {
  6.        Onfocus:function(obj)
  7.        {
  8.             var idbox = document.getElementById(obj);
  9.             var idinfo;
  10.             for (var item in ComDo.Infos)
  11.             {
  12.                  if (item==obj)
  13.                   {
  14.                       idinfo = ComDo.ReturnSpan(item);
  15.                       idinfo.className = 'focusCss2';
  16.                       idinfo.innerHTML = ""+ComDo.Infos[item].a;
  17.                       if (idbox.value.trim()!='')
  18.                       {
  19.                           //ComDo.vilidBox(idbox,item);
  20.                           ComDo.Infos[item].f();
  21.                       }
  22.                   }
  23.             }
  24.           
  25.        },
  26.        Onkeyup:function(obj)
  27.        {
  28.             var idbox = document.getElementById(obj);
  29.            // var idinfo = document.all.item(obj+'_info');
  30.             for (var item in ComDo.Infos)
  31.                  {
  32.                       if (item==obj)
  33.                       {
  34.                                idinfo = ComDo.ReturnSpan(item);
  35.                                idinfo.className = 'focusCss2';
  36.                                //idinfo.innerHTML = ""+ComDo.Infos[item].b;
  37.                                //ComDo.vilidBox(idbox,item);
  38.                                ComDo.Infos[item].f();
  39.                       }
  40.                  }
  41.           
  42.        },
  43.        Onblur:function(obj)
  44.        {
  45.             var idbox = document.getElementById(obj);
  46.             var idinfo ;
  47.             if (idbox.value.trim()!='')
  48.             {
  49.                  for (var item in ComDo.Infos)
  50.                  {
  51.                       if (item==obj)
  52.                       {
  53.                                idinfo = ComDo.ReturnSpan(item);
  54.                               
  55.                                //idinfo.innerHTML = ""+ComDo.Infos[item].b;
  56.                                ComDo.Infos[item].f();
  57.                                idinfo.className = 'blurCss2';
  58.                       }
  59.                  }
  60.             }
  61.             else {
  62.                  for (var item in ComDo.Infos)
  63.                  {
  64.                       if (item==obj)
  65.                       {
  66.                                idinfo = ComDo.ReturnSpan(item);
  67.                                idinfo.className = 'blurCss2';
  68.                                idinfo.innerHTML = ""+ComDo.Infos[item].a;
  69.                                //ComDo.Infos[item].f();
  70.                       }
  71.                  }
  72.             }
  73.        },
  74.        SetInfos:function()
  75.        {
  76.               for (var item in ComDo.Infos)
  77.               {
  78.                       idinfo = ComDo.ReturnSpan(item);
  79.                       idinfo.className = 'blurCss2';
  80.                       idinfo.innerHTML = ""+ComDo.Infos[item].a;
  81.               }
  82.        }
  83. }
  84. onfocusFunc.prototype.Infos = { //根据页面自己写的.
  85.       regUser:{
  86.               a:"4-20字符商家登陆名!  看看用户名是否可用",
  87.               b:"输入正确!  看看用户名是否可用",
  88.               c:"商家登陆名不能为空!  看看用户名是否可用",
  89.               d:"regUser",
  90.               e:"regUser_Info",
  91.               f:function() {
  92.                      validLength(ComDo.ReturnTagID('regUser'),4,20);
  93.                      return state;
  94.                  }
  95.       },
  96.       regPass:{
  97.               a:"6-20字符商家登陆名密码!",
  98.               b:"输入正确!",
  99.               c:"商家密码不能为空!",
  100.               d:"regPass",
  101.               e:"regPass_info",
  102.               f:function() {
  103.                      validLength(ComDo.ReturnTagID('regPass'),6,20);
  104.                      return state;
  105.                  }
  106.       },
  107.       cfrPass:{
  108.               a:"6-20字符商家确认密码!",
  109.               b:"两次密码不一致,请重新输入!",
  110.               c:"商家确认密码不能为空!",
  111.               d:"cfrPass",
  112.               e:"cfrPass_info",
  113.               f:function() {
  114.                      ComDo.vilidBox(ComDo.ReturnTagID('cfrPass'),'cfrPass');
  115.                      return state;
  116.                  }
  117.       }
  118. }
  119. String.prototype.trim = function()
  120. {
  121.      return this.replace(/(^\s*)|(\s*$)/g,'');
  122. }
  123. var initForm = function()
  124. {
  125.     var tbl = document.getElementById("Mainbody");
  126.     InitInfo();
  127.     var inputBox = tbl.getElementsByTagName("INPUT");
  128.     for (var i=0;i
  129.     {
  130.          if (inputBox[i].type=='text' || inputBox[i].type=='password')
  131.          {
  132.               inputBox[i].onfocus = doFocus;
  133.               inputBox[i].onkeyup = doKeyup;
  134.               inputBox[i].onblur = doBlur;
  135.          }
  136.     }
  137.   
  138.     var sel = tbl.getElementsByTagName("TEXTAREA");
  139.     for (var i=0;i
  140.     {
  141.          sel[i].onfocus = doFocus;
  142.          sel[i].onkeyup = doKeyup;
  143.          sel[i].onblur = doBlur;
  144.     }
  145.   
  146.     var sel = tbl.getElementsByTagName("SELECT");
  147.     for (var i=0;i
  148.     {
  149.          sel[i].onfocus = doFocus;
  150.          sel[i].onblur = doBlur;
  151.          sel[i].onkeyup = doKeyup;
  152.     }
  153. }
  154. var doFocus = function()    //evnt.target Navigator
  155. {
  156.        var obj = srcState(); //jsClass.js
  157.        ComDo.focus.Onfocus(ComDo.Infos[obj].d);
  158. }
  159. var doKeyup = function()
  160. {
  161.        var obj = srcState();
  162.        ComDo.focus.Onkeyup(ComDo.Infos[obj].d);
  163. }
  164. var doBlur = function()
  165. {
  166.        var obj = srcState();
  167.        ComDo.focus.Onblur(ComDo.Infos[obj].d);
  168. }
  169. function InitInfo()
  170. {
  171.        ComDo.focus.SetInfos();
  172. }
  173. //以上是核心脚本
  174. //返回spn showInfo Of the box Validate
  175. onfocusFunc.prototype.ReturnSpan = function(item)
  176. {
  177.      //alert(item);
  178.      return document.getElementById(ComDo.Infos[item].e);
  179. }
  180. onfocusFunc.prototype.ReturnTagID = function(item)
  181. { //alert(item);
  182.      return document.getElementById(ComDo.Infos[item].d);
  183. }
  184. //验证方法 根据需要自己写
  185. onfocusFunc.prototype.vilidBox = function(idbox,item)
  186. {
  187.       //idbox.value = idbox.value.trim();
  188.       var spn = ComDo.ReturnSpan(item);
  189.       switch (ComDo.Infos[item].d)
  190.       {
  191.             case "cfrPass":
  192.                compareData(idbox,spn,item);
  193.                break;
  194.       }
  195. }
  196. function checkByteLength(str,minlen,maxlen) {
  197. if (str == null) return false;
  198. var l = str.length;
  199. var blen = 0;
  200. for(i=0; i
  201.   if ((str.charCodeAt(i) & 0xff00) != 0) {
  202.    blen ++;
  203.   }
  204.   blen ++;
  205. }
  206. if (blen > maxlen || blen < minlen) {
  207.   return false;
  208. }
  209. return true;
  210. }
  211. function validLength(obj,min,max)
  212. {
  213.       var spn = ComDo.ReturnSpan(obj.id);
  214.       if (!checkByteLength(obj.value.trim(),min,max))
  215.       {
  216.             //alert('跑')
  217.             spn.className = 'errCss2';
  218.             spn.innerHTML = ComDo.Infos[obj.id].a;
  219.             state = false;
  220.       }
  221.       else
  222.       {
  223.             spn.className = 'focusCss2';
  224.             spn.innerHTML = ComDo.Infos[obj.id].b;
  225.             state = true;
  226.       }
  227. }
  228. function compareData(obj,spn,item)
  229. {
  230.       var rp = document.getElementById('regPass');
  231.       var cp = document.getElementById('cfrPass');
  232.     
  233.       if (rp.value.trim()!=cp.value.trim())
  234.       {
  235.            spn.className = 'errCss2';
  236.            spn.innerHTML = ComDo.Infos[obj.id].b;
  237.            state = false;
  238.       }
  239.       else
  240.       {
  241.            spn.className = 'focusCss2';
  242.            spn.innerHTML = '输入正确';
  243.            state = true;
  244.       }
  245. }
  246. function validEmail(obj,spn,item) //检测邮箱
  247. {
  248.       if (!checkByteLength(obj.value.trim(),6,200))
  249.       {
  250.             spn.className = 'errCss2';
  251.             spn.innerHTML = ComDo.Infos[item].a;
  252.             state = false;
  253.       }
  254.       else
  255.       {
  256.             var RegMail = /^[_a-zA-Z0-9\-]+(\.[_a-zA-Z0-9\-]*)*@[a-zA-Z0-9\-]+([\.][a-zA-Z0-9\-]+)+$/;
  257.             if (!RegMail.test(obj.value.trim()))
  258.             {
  259.                  spn.className = 'errCss2';
  260.                  spn.innerHTML = ComDo.Infos[item].c;
  261.                  state = false;
  262.             }
  263.             else
  264.             {
  265.                  spn.className = 'focusCss2';
  266.                  spn.innerHTML = '输入正确';
  267.                  state = true;
  268.             }
  269.       }
  270. }
  271. function chkIsexist()
  272. {
  273.     var v = document.getElementById('regUser');
  274.     var e = document.getElementById('regMail');
  275.   
  276.     if (v.value.trim()=='' || e.value.trim()=='')
  277.     {
  278.          alert('用户名或邮箱不能为空!');
  279.          if (v.value.trim()=='')
  280.              v.focus();
  281.          else
  282.              e.focus();
  283.          return false;
  284.     }
  285.   
  286. var Webreq = new Ajax();
  287.     Webreq.Config.Result = "ChkIsExistSuc";
  288.     Webreq.Config.SucInfo = "恭喜您,该用户名可以使用!";
  289.     Webreq.Config.FaildInfo = "对不起,该用户名已被其他人使用了!";
  290.     Webreq.Config.returnType = 'Compare';
  291.     Webreq.ActionAlert('AjFunc/Default.aspx?editType=ChkIsExist&eid=0&obj='+v.value.trim()+'&eml='+e.value.trim());
  292. }
  293. //验证所在表单控件方法
  294. onfocusFunc.prototype.CheckAllform = function()
  295. {
  296.     state = false;
  297.     var tbl = document.getElementById("Mainbody");
  298.     var inputBox = tbl.getElementsByTagName("INPUT");
  299.     for (var k in ComDo.Infos)
  300.     {
  301.           ComDo.Infos[k].f();
  302.     }
  303.     for (var k in ComDo.Infos)
  304.     {
  305.           if (ComDo.Infos[k].f()==false)
  306.           {
  307.                 return false;
  308.           }
  309.     }
  310.     return true;
  311. }

 

//css Document

body {
}

.focusCss {width:356px;height:24px;border:1px solid green;padding-Left:4pt;line-Height:24px;}
.blurCss {width:356px;height:24px;border:0px solid green;padding-Left:4pt;line-Height:24px;}
.errCss {width:356px;height:24px;border:1px solid red;padding-Left:4pt;line-Height:24px;color:Red;}


.focusCss2 {width:98%;height:24px;border:1px solid green;padding-Left:4pt;line-Height:24px;text-align:left}
.blurCss2 {width:98%;height:24px;border:0px solid green;padding-Left:4pt;line-Height:24px;text-align:left}
.errCss2 {width:98%;height:24px;border:1px solid red;padding-Left:4pt;line-Height:24px;color:Red;text-align:left}

 

·上一篇:当setTimeOut方法调用函数的参数为对象类型时出错.
·下一篇:javascript 版 hashtable

for this post

 
 

Leave a Reply

赶快抢个沙发坐坐!
请先 登陆  还没帐号

Hot Posts Powered by weiseditor

  • Add to Google

Friend links