我现在有两个或者更多的验证函数比如:
// returns true if the string only contains characters 0-9
function isNumeric(str) { var re = /[\D]/g;
alert("isNumeric:"+re.test(str.value));
if (re.test(str.value)) {
alert("4");

document.getElementById("validatorTextFor_" + str.id).innerHTML = "必须是数字";
return false;
}else{
alert("5");
document.getElementById("validatorTextFor_" + str.id).innerHTML = "";
return true;
}  }这个验证数字的
// returns true if the string only contains characters A-Z or a-z
function isAlpha(str) { if (isEmpty(str)) {
return false;
}
var re = /[^a-zA-Z]/g;
alert("yanzhengZiMu"+re.test(str));
if (re.test(str)) { return false;
} return true;
}这个是验证字符的有没有 办法让多个验证方法 对同一个输入框进行验证,让输入的验证的条件既能满足数字也能满足字符,如果还有其他的验证方式也可以放在一起结合起来使用。这主要提高验证方式的灵活性的。

解决方案 »

  1.   

    <script type="text/javascript">
     function validate(str)
     {
      var re = /[\D]/g; 
      var re2 = /[^a-zA-Z]/g;
      var char;
      for(var i=0; i<str.length; i++)
      {
        char = str.substr(i,1);
        if(re.test(char) && re2.test(char))
        { 
          alert("不是数字或字母!");
          break;
        }
      }
     }
    </script>
    <input type="text" onchange="validate(this.value)">
    这样行不行
      

  2.   

    比如:
    /** 
    * 取得字符串的字节长度 
    */ 
    function strlen(str)   
    {   
        var i;   
        var len;   
           
        len = 0;   
        for (i=0;i<str.length;i++)   
        {   
            if (str.charCodeAt(i)>255) len+=2; else len++;   
        }   
        return len;   
    }
    /* 
    * 判断是否为数字,是则返回true,否则返回false 
    */  
    function f_check_number(obj)   
    {          
        if (/^\d+$/.test(obj.value))   
        {   
           return true;   
        }    
        else    
        {   
           f_alert(obj,"请输入数字");   
           return false;   
        }   
    }   
    /** 
    * 检测字符串是否为空 
    */ function isnull(str)   
    {   
        var i;   
        if(str.length == 0)   
            return true;   
        for (i=0;i<str.length;i++)   
        {   
            if (str.charAt(i)!=' ')    
                return false;   
        }   
        return true;   
    }
    不知道哪位高手有办法,让这几种方法组合起来对一个字段进行校验了?
      

  3.   

    提交的 时候直接把这几个函数写进去,函数之间加分号就OK了.<input type="button" onclick="strlen();f_check_number();isnull()"/>
      

  4.   

    用document.getElementById()获取text的值.
      

  5.   

    谢谢六楼的。onblur="strlen();f_check_number();isnull()" 可以这样写嘛?
      

  6.   

    没必要用这个....你直接用button的onclick就ok了,在js中能获取到页面上的任何东西
      

  7.   

    呵呵 多谢。不过我都是用firefox测试,这个比较好用,下个插件就可以调试js了 很方便的,而且哪里出错都可以帮你找到那一行
      

  8.   

    可以找到哪行错误没什么用, 
    要象java那样的就很好,哪一步得到哪些值等.
      

  9.   

    毕竟有这个就不错了,总比以前只能是用alert来调试了。以后肯定会往这方面发展的