作业?!那还是算了,建议你搜索一下validator类,你那几点验证只是小case。
解决方案 »
- js提示尚未实现??
- 关于滚动条跟随滚动的问题
- onblur事件来触发验证的问题
- 關於不定數量RadioButton,取值問題
- 请问以下代码中的函数是不是只能执行一次,下一次点击按钮的时候就直接用上次生成的结果缓冲,不再执行这个函数了?如果要想下一次点击按钮
- 如何在页面中填写单价和数量,自动生成合计
- 简单问题不知道怎么用javascript实现,请高手指点,在线等待!
- 删除页面的file控件问题
- 如何用javascript获得2003-09-05格式的实时日期(刚入门的女生,超急在线等)
- 关于获取多选值的问题,怎样获得这个效果?
- 怎样获取上一页面的某一隐藏控件值?
- file文件框問題。大家幫幫忙
e = f.elements[i];
/* 将提交信息分割,放置在两个数组中,分割符#取最后的(true|false)*/
a = e.id.split("#");
//判断输入内容的类型:"text", "select-one", "select-multiple", "textarea", ["checkbox", "radio"]
if ( a[1] == "true" ) {
switch (e.type) {
case "text":
if (trim(e.value) == "" ){
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return false}
break
case "textarea":
if ( trim(e.value) == "" ){
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return false}
break
case "select-one":
if (((e.length == 0)||(e.options[e.selectedIndex].text.substr(0,1)=="-"))||(trim(e.value)=="无")){
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return false}
break
case "select-multiple":
if (e.length == 0){
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return false}
break
case "checkbox":
hasChecked = false;
p = eval("e.form." + e.name);
for (var r=0; r < p.length; r++){
if ( p[r].checked ){hasChecked = true};
}
if (!hasChecked) {
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return hasChecked;
}
break
case "radio":
hasChecked = false;
p = eval("e.form." + e.name);
for (var r=0; r < p.length; r++){
if ( p[r].checked ){hasChecked = true};
} if (!hasChecked) {
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return hasChecked;
}
break
case "password":
if ( trim(e.value) == "" ){
alert("' " +a[0] + " ' 不能为空, 请重新输入!");
e.focus();
return false
}
break
default:
break
}
}
switch (a[2]) {
case "Date":
if (trim(e.value) != "" )
if(!dateFormatOk(e.value, "-")){
alert('请输入正确的日期格式(YYYY-MM-DD / 1999-12-01)');
e.focus();
return false;
}
break;
case "Time":
if (trim(e.value) != "" )
if(!timeFormatOK(e.value, ":")){
alert('请输入正确的时间格式(HH:SS / 18:01)');
e.focus();
return false;
}
break;
case "Number":
if (trim(e.value) != "" )
if(isNaN(e.value)){
alert("请输入正确的数值内容!")
e.focus();
return false;
}
break;
case "Same":
var v2=eval("f."+a[3]+".value");
if(!isSame(e.value,v2)){
alert("两次输入的密码不一致!")
e.focus();
return false;
}
break;
case "Max":
if ( e.length > a[3]){
alert("' " +a[0] + " ' 不能多与"+a[3]+"位, 请重新选择!");
e.focus();
return false
}
break;
case "Overline":
if (trim(e.value).length> a[3]){
alert("' " +a[0] + " ' 不能多于"+a[3]+"个字, 请重新输入!");
e.focus();
return false
}
break;
case "email":
if(!(trim(e.value).indexOf("@")>0) && (trim(e.value).indexOf("@")<trim(e.value).length-1)){
alert("请输入正确的邮件地址!");
e.focus();
return false;
}
break;
case "maxlength":
if(e.length>a[3]){
alert("' " +a[0] + " ' 不能多于"+a[3]+"个, 请重新输入!");
e.focus();
return false
}
break;
case "Similar"://相似
if((!trim(document.all(a[3]).value)=="")&&(trim(e.value)==trim(document.all(a[3]).value))){
alert("' "+a[0]+" ' 不能重复!");
e.focus();
return false;
}
break;
case "CompDate"://比较日期
if (trim(document.all(a[3]).value)!="" && trim(document.all(a[4]).value)!="" ){
srq = trim(document.all(a[3]).value);
erq = trim(document.all(a[4]).value);
if (srq > erq){
alert(a[5]);
document.all.enddate.focus();
return false;
}
}
break;
case "outnum":
if(e.length>a[3]){
alert("超链接只能选择"+a[3]+"个!");
return false;
}
break;
default:
break;
}
}