当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 关键字:javascript 表单检查 自定义属性 正则表达式部
 

 

 ·下一代网络中智能网的实现    »显示摘要«
    摘要: 下一代网络中智能网的实现 http://www.chinatelecom.com.cn  2003年05月27日   张雪丽 在下一代网络中,智能网位于业务平面,为用户提供各种智能业务。从目前的技术发展和业务成熟性来看,在下一代网络中,智能网有三种不同的实现方式:软交换访问传统智能网的scp;传统智能网的ssp访问应用服务器;利用第三方为ia......
 ·[收藏]微软bug管理    »显示摘要«
    摘要: 微软bug管理 来自:微软 蔡锫 一.团队组织 1.常见问题 没有人愿意做测试 觉得养不起那么多测试人员 开发人员不遵循规范,随心所欲 项目经理事必躬亲,分身乏术 2.微软团队模型 各角色的职责 角色 职责 项目经理 编写功能规范,协调各角色关系 产品经理 客户联系的桥梁,进行需求分析 用户教育......


通用的表单检查Javascript脚本

关键字:javascript 表单检查 自定义属性 正则表达式

【程序编程相关:Java的秘密:使用全屏幕模式

【推荐阅读:A simple bootstrap

部分代码参考了一位兄弟的代码,但没记住名字,十分抱歉,如果这位兄弟看到本文,请与我联系!!! 【扩展信息:如何使用触发器实现数据库级守护,防止DD

回回写表单,回回要写不同的检查js,很麻烦,后来写了通用的检查函数,很粗糙,但比较实用,以后再好好改改:

包含页: checkform.js

代码如下:

//************************************************

//规则检查排序

function regcheck(objs)

 {

  var str = objs.checktype;

  switch (str)

   {

       case "cn" :    //要检查的表单控件的输入类型必须为中文

          return cnwordregcheck(objs);

          break;

       case "idnum" :

          return idcardregcheck(objs); //要检查的表单控件的输入类型必须为身份证号

          break;

    case "num" :    //要检查的表单控件的输入类型必须为数字

           return numregcheck(objs);

     break;

    case "mail" :    //要检查的表单控件的输入类型必须为email

          return emailregcheck(objs);

          break;

    case "txt" :   //要检查的表单控件的输入类型必须为字符串

     return specialwordregcheck(objs);

     break;

    case "notes" :

     return true; //要检查的表单控件的输入类型必须为什么都可以

     break;

   }

 }

//************************************************

//检查电话号码

function numregcheck(obj)

 {

  var uplimit = obj.checkrule.split(",")[0];

  var downlimit = obj.checkrule.split(",")[1];

  var reg = ""; 

  if (downlimit == null)

   {

     reg = eval("/^[0-9]{"+uplimit+"}$/");

   }

  else

   {

     reg = eval("/^[0-9]{"+uplimit+","+downlimit+"}$/");

   }

  var str = obj.value;

  var flag = reg.test(str);

  return flag;

 }

//************************************************

//检查身份证号

function idcardregcheck(obj)

 {

  var str = obj.value;

  var reg = /^([0-9]{15}|[0-9]{18})$/;

  var flag = reg.test(str);

  return flag; 

 }

//************************************************

//检查email

function emailregcheck(obj)

 {

  var str = obj.value;

  var reg = /^([a-za-z0-9_-])+@([a-za-z0-9_-])+((\.[a-za-z0-9_-]{2,3}){1,2})$/;

  var flag = reg.test(str);

  return flag;

 }

//***************************************

//检查中文输入

function cnwordregcheck(obj)

 {

  var str = obj.value;

  var reg=/^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$/;

  var flag = reg.test(str);

  //alert(flag);

  return flag;

 }

//***************************************

//检查特殊字符

function specialwordregcheck(obj)

 {

  var reg= /[(\/)(\\)(´)(")(<)(>)]/g;

  var str = obj.value;

  var flag= reg.test(str);

  flag = !flag;

  return flag;

 }

//************************************************

//检查主引导函数

function checkform(obj)

 {

  var myform = eval("document."+obj.name);

 

  for (i=0;i<myform.elements.length;i++)

   {

    var formvalue = myform.elements[i].value;

    //内容非空检查,长度检查

    if ((myform.elements[i].value == "")||(myform.elements[i].value.length>myform.elements[i].maxlength))

     {

      alert("您忘了填写"+myform.elements[i].cnname+"!"+"或者您填写的信息不符合规范!");

      myform.elements[i].focus();

      return false;

      break;

     }

  

     if (myform.elements[i].value == 0)

     {

      alert("您忘了选择"+myform.elements[i].cnname+"!");

      myform.elements[i].focus();

      return false;

      break;

     }

    //数据规范化检查

    var myobj = myform.elements[i];

    //alert(myobj.checktype);

    //break;

    if (!regcheck(myobj))

     {

      alert(myobj.cnname+"输入有误,请按填写要求填写!");

        myobj.focus();

      return false;

      break;

     }

   }

 }

****************************************************

测试用demo页面 checkformdemo.htm

代码如下:(要注意的是,要正确使用以上函数,在表单控件里要自定义几个属性:

checktype=“该表单控件要检查的类型,如果要求该控件必须输入中文,则为 ´cn´,等等“;

checkrule=“要检查的范围,如身份证号,要15-18位,则写入 ´15,18´ 为一个则直接写入,两个则要用逗号分隔“

cnname=“该控件的中文name,比如´姓名´ ´学历´等“

主要为以上三个自定义属性.

<html>

<head>

<title>system</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

<script language="javascript" src="checkform.js"></script>

</head>

<body>

  <table width="780" border="0" cellpadding="0" cellspacing="0" class="table-border-color-allgray">

    <tr>

      <td height="4" class="table-bgcolor-headandfoot"></td>

    </tr>

    <tr>

      <td height="1"></td>

    </tr>

    <tr>

      <td height="45" class="table-bgcolor-title"> <div align="right">&nbsp;&nbsp;</div></td>

    </tr>

    <tr>

      <td  height="1" class="table-bgcolor-line"></td>

    </tr>

    <tr>

      <td>

              <table width="100%" border="0" cellpadding="0" cellspacing="0" id="input_form">

                <tr>

                  <td align="center">

<form action="test.asp" method="post" name="frm_pinfo" target="_self" id="frm_pinfo" onsubmit="return checkform(this);">

                      <table width="90%" border="0" cellspacing="0" cellpadding="0">

                        <tr>

                          <td width="15%" height="30">&nbsp;</td>

                          <td width="50%">&nbsp;</td>

                          <td width="35%">&nbsp;</td>

                        </tr>

                        <tr>

                          <td height="30" colspan="3">&nbsp;</td>

                        </tr>

                        <tr>

                          <td height="30">&nbsp;</td>

                          <td>&nbsp;</td>

                          <td>&nbsp;</td>


...   下一页
 ·常见windows进程查询    »显示摘要«
    摘要:wintasks process library the wintasks process library contains information about all common windows processes and is continously updated with new information. on this page you can find a subset of......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE