js 提问 高手进来!
我现在有两个或者更多的验证函数比如:
// 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;
}这个是验证字符的
有没有 办法让多个验证方法 对同一个输入框进行验证,让输入的验证的条件既能满足数字也能满足字符,如果还有其他的验证方式也可以放在一起结合起来使用。这主要提高验证方式的灵活性的。
------解决方案--------------------<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)">
这样行不行
------解决方案--------------------
提交的 时候直接把这几个函数写进去,函数之间加分号就OK了.
HTML code
<input type="button" onclick="strlen();f_check_number();isnull()"/>