我想把表单做成一个集成的验证函数,是这样想的:
Function(strDataType,MinNum,MaxNum,strText)
 {
   if(strDataType=="Str")
     {
        //说明我现在需要验证用户输入的数据是字符型数据,如果不是则跳出错误,提示重新输入
        //字符的长度必须是最小为MinNum个,最长的长度为MaxNum个,否则跳出错误提示
        //错误提示为:你输入的strText(为输入文本框的自己定义的名称)信息错误,请重新输入
     }
   if(strDataType=="ChinaStr")
     {
        //说明我现在需要验证用户输入的数据是中文字符型数据
       //原理和上面一样,只是不知道字符和汉字的长度在算法是否一致
     }
   if(strDataType=="strInt")
     {
        //说明我现在需要验证用户输入的数据是整型数据
       //原理和上面一样
     }
   if(strDataType=="strFloat")
     {
        //说明我现在需要验证用户输入的数据是带数值型(可小数的数据)
       //原理和上面一样
     }
   if(strDataType=="strDate")
     {
        //说明我现在需要验证用户输入的日期型数据
       //原理和上面一样
     }
 }
------------------------------
上面这些在功能上不知道该如何完成,请各位指点,如果能用正则表达式来做是最好的

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    var reg = null;
    function fromValid(sType, iMin, iMax, sVal){
    if(sType == "Str"){
    reg = new RegExp("^[a-zA-Z]{" + iMin + "," + iMax + "}$");
    if(!reg.test(sVal)){
    alert("输入规定长度的字符");
    return false;
    }
    }else if(sType == "ChinaStr"){
    reg = new RegExp("^[^u4e00-u9fa5]{" + iMin + "," + iMax + "}$");
    if(!reg.test(sVal)){
    alert("请输入规定长度的汉字");
    return false;
    }
    }else if(sType == "strInt"){
    reg = new RegExp("^[0-9]{" + iMin + "," + iMax + "}$");
    if(!reg.test(sVal)){
    alert("请输入规定长度的整数");
    return false;
    }
    }
    // 小数 和 日期 没写 不知道 你日期个小数规定长度的概念是啥
    document.getElementById("ospan").innerHTML = "符合要求.你的验证格式为: " + reg;
    } function validTest(){
    var oval = document.getElementById("user").value;
    fromValid("strInt", 3, 5, oval);
    }//-->
    </script>
    <input type="text" id="user" />
    <input type="button" value=" 测试 " onclick="validTest();" />
    <span id="ospan"></span>
    <script type="text/javascript">
    <!--//-->
    </script>
      

  2.   


    // 验证小数 min max 如果是控制小数位
    else if(sType == "strFloat"){
    reg = new RegExp("^(?:\\d)*\\.\\d{" + iMin + "," + iMax + "}$"); // 控制小数位的最大最小值
    alert(reg)
    if(!reg.test(sVal)){
    alert("请输入规定长度的小数");
    return false;
    }
    }
      

  3.   


    ^(?:(?:(?:(?:(?:1[6-9]|[2-9][0-9])?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))([-/.])(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9][0-9])?[0-9]{2})([-/.])(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[13-9]|1[0-2])\2(?:29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1[0-9]|2[0-8]))))$// 带闰年的正则判断 自己加上 注意\ 在new RegExp中全换成\\即可
      

  4.   

    非常感谢s_liangchao1s 及lzp4881 的回复,谢谢!