验证问题!只有这点分了,应该很简单的! var dns_name=document.form1.dns_name;错了,差一个.valuevar dns_name=document.form1.dns_name.value; 这样才是得它的值,你写的只是得它的对象,肯定会错了:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢,后来我也发现了为什么 if ( dns_name.indexOf("\") > -1)他会提示未结束的字符串而if ( dns_name.indexOf("/") > -1) * % 等符号都可以 ,而且发现一一列出很麻烦好象有什么正则表达式检验的,我只要是数字或者字母就行 \"是转意字符\" 实际等于 ",所以为结束。应该改为:dns_name.indexOf("\\") > -1)就OK啦 ! \ 是转义符,用在那不行,还是用正则好,这有个例子你看看<body bgcolor="#FFFFFF"><script language="JavaScript"><!--function Juge(){var rw1 = document.form1.rw1.value;if(rw1.replace(/(^\s*)|(\s*$)/g,"") == ""){ alert("rw1不能为空"); document.form1.rw1.select(); return false;}var rw2 = document.form1.rw2.value;var patrnE=/^[a-zA-Z]*$/if (!patrnE.exec(rw2)) { alert("rw2只能输入英文!"); document.form1.rw2.select(); return false}var rw3 = document.form1.rw3.value;var patrnN=/^[0-9]*$/if (!patrnN.exec(rw3)) { alert("rw3只能输入数字!"); document.form1.rw3.select(); return false}var rw5 = document.form1.rw5.value;var patrnE=/^[^\sa-zA-Z1-9_~`!@#%&=;:\/\$\(\)\{\}<>\|\"\'\^\*\-\+\?]*$/if (!patrnE.exec(rw5)) { alert("rw5只能输入中文!"); document.form1.rw5.select(); return false}//阿信的代码var obj = document.form1.rw4 //用于检查日期输入是否正确 (日期输入范围为1930-01-01 到2200-12-31)if (obj.value.length==0) return false; var objValue=obj.value.replace(/[-\.]/g,"/"); try { var a=new Date(objValue); if (isNaN(a)) { obj.value=""; alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。"); obj.focus(); return false; } var b; if (a.getFullYear()<1900||a.getFullYear()>2200) {var Today=new Date(); b=Today.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate(); } else if (a.getFullYear()<1930) b=(a.getFullYear()+100)+"-"+(a.getMonth()+1)+"-"+a.getDate(); else b=a.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate(); obj.value=obj.value.replace(/[-\.\/]0*/g,"-"); if (b!=obj.value) { obj.value=b; alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。"); obj.select(); obj.focus(); return false; } } catch(Exception) { obj.value=""; alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。"); obj.focus(); return false; }}--></script><FORM action="chuli_get.asp" method=post name=form1 onsubmit="javascript:return Juge(this);" align="center">不能为空:<input size=50 type="text" name=rw1><br>只能输入英文:<input size=50 type="text" name=rw2><br>只能输入数字:<input size=50 type="text" name=rw3><br>只能输入中文:<input size=50 type="text" name=rw5><br>日期:<input size=50 type="text" name=rw4><br><button onclick="Juge()">验证</button></body> 下拉框特效,去掉form后,可以正常显示,加上就不行了,请问原因? script标签的id属性 请问javscript函数问题? iframe中showModalDialog传值问题 js效果在火狐下不起作用? 我佛山人 Validator v4.0 求助:如何使用JAVASCRIPT修改指定的HTML部分代码 请教:如果给另外窗口的text等赋值。 求助:jquery mobile 手指滑动swipe动作 的滑动距离设置 急急急!百度地图API 点聚合 如何按区域划分聚合点 在线文章编辑器的问题~高手来看看,谢啦!在线等! 对 部分 同名复选框的一次性选中问题
为什么
if ( dns_name.indexOf("\") > -1)
他会提示未结束的字符串
而
if ( dns_name.indexOf("/") > -1) * % 等符号都可以 ,而且发现一一列出很麻烦
好象有什么正则表达式检验的,我只要是数字或者字母就行
\" 实际等于 ",所以为结束。
应该改为:dns_name.indexOf("\\") > -1)
就OK啦 !
<body bgcolor="#FFFFFF">
<script language="JavaScript">
<!--
function Juge()
{
var rw1 = document.form1.rw1.value;
if(rw1.replace(/(^\s*)|(\s*$)/g,"") == "")
{
alert("rw1不能为空");
document.form1.rw1.select();
return false;
}var rw2 = document.form1.rw2.value;
var patrnE=/^[a-zA-Z]*$/
if (!patrnE.exec(rw2))
{
alert("rw2只能输入英文!");
document.form1.rw2.select();
return false
}var rw3 = document.form1.rw3.value;
var patrnN=/^[0-9]*$/
if (!patrnN.exec(rw3))
{
alert("rw3只能输入数字!");
document.form1.rw3.select();
return false
}var rw5 = document.form1.rw5.value;
var patrnE=/^[^\sa-zA-Z1-9_~`!@#%&=;:\/\$\(\)\{\}<>\|\"\'\^\*\-\+\?]*$/
if (!patrnE.exec(rw5))
{
alert("rw5只能输入中文!");
document.form1.rw5.select();
return false
}//阿信的代码
var obj = document.form1.rw4 //用于检查日期输入是否正确 (日期输入范围为1930-01-01 到2200-12-31)
if (obj.value.length==0) return false;
var objValue=obj.value.replace(/[-\.]/g,"/");
try
{
var a=new Date(objValue);
if (isNaN(a))
{
obj.value="";
alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
obj.focus();
return false;
}
var b;
if (a.getFullYear()<1900||a.getFullYear()>2200)
{var Today=new Date();
b=Today.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
}
else if (a.getFullYear()<1930)
b=(a.getFullYear()+100)+"-"+(a.getMonth()+1)+"-"+a.getDate();
else b=a.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
obj.value=obj.value.replace(/[-\.\/]0*/g,"-");
if (b!=obj.value)
{
obj.value=b;
alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。");
obj.select();
obj.focus();
return false;
}
}
catch(Exception)
{
obj.value="";
alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
obj.focus();
return false;
}
}-->
</script><FORM action="chuli_get.asp" method=post name=form1 onsubmit="javascript:return Juge(this);" align="center">
不能为空:<input size=50 type="text" name=rw1><br>
只能输入英文:<input size=50 type="text" name=rw2><br>
只能输入数字:<input size=50 type="text" name=rw3><br>
只能输入中文:<input size=50 type="text" name=rw5><br>
日期:<input size=50 type="text" name=rw4><br>
<button onclick="Juge()">验证</button>
</body>