验证特殊字符的问题 本帖最后由 h123hu 于 2009-12-29 11:21:01 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你javascript用的是getElementById,但是html用的是<name="..."> if(name=="" || pwd==""){alert("用户名或密码不能为空");return false;}else if(name.length<6 && pwd.length<6){alert("用户名或密码字符长度不能为小于6位");return false;}改为:if(!name || name==""||!pwd || pwd==""){alert("用户名或密码不能为空");return false;}else if(name.length<6 && pwd.length<6){alert("用户名或密码字符长度不能为小于6位");return false;} <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" href="css.css" type="text/css"><title>sadf</title></head><body><form id="form1" name="form1" method="post" action="Untitled-2.html" onsubmit="return CheckUers()"> <p>用户名 <input type="text" name="name" id="name" onkeypress="return checkComments(document.getElementById('name').value)"/> </p> <p>密码 <input type="text" name="pwd" id="pwd"/></p> <p> <input type="submit" name="Submit" value="提交"/> </p></form></body><script language="javascript"><!--不能为空,字符长度不能小于6位-->function CheckUers(){var name=document.getElementById("name").value;var pwd=document.getElementById("pwd").value;if(name=="" || pwd==""){alert("用户名或密码不能为空");return false;}else if(name.length<6 && pwd.length<6){alert("用户名或密码字符长度不能为小于6位");return false;}return true;}<!--不能输入特殊字符-->function checkComments(num){ var myreg=/^(?!.*?[\'\"\!@\#\$%\^&\*\~,\.]).*$/if(!myreg.test(num)){ alert("不能输入特殊字符"); return false;}} </script>这样就可以了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script language="javascript"><!--不能为空,字符长度不能小于6位-->function CheckUers(){var name=document.getElementsByName("name")[0].value;var pwd=document.getElementsByName("pwd")[0].value;if(name=="" || pwd==""){alert("用户名或密码不能为空");return false;}else if(name.length<6 && pwd.length<6){alert("用户名或密码字符长度不能为小于6位");return false;}return true;}var reg=/^[a-zA-Z0-9]*$/;<!--不能输入特殊字符-->function aa(){ var name=document.getElementsByName("name")[0].value;var pwd=document.getElementsByName("pwd")[0].value;if(!reg.test(name)){ document.getElementsByName("name")[0].value=name.replace(/[^a-zA-Z0-9]*$/, ''); ; alert("用户名不能为空,且由长度不超过6的字母或数字组成!"); return false;}if(!reg.test(pwd)){ document.getElementsByName("pwd")[0].value=pwd.replace(/[^a-zA-Z0-9]*$/, ''); ; alert("密码不能为空,且由长度不超过6的字母或数字组成!"); return false;}}</script> </head> <body> <form id="form1" name="form1" method="post" action="Untitled-2.html" onsubmit="return CheckUers()"> <p>用户名 <input type="text" name="name" onkeyup="aa();" maxlength="6"/> </p> <p>密码 <input type="text" name="pwd" onkeyup="aa();" maxlength="6"/></p> <p> <input type="submit" name="Submit" value="提交"/> </p></form> </body> </html> 你不会是改成了getElementsByName了吧,呵呵。 <form id="form1" name="form1" method="post" action="Untitled-2.html" onsubmit="return CheckUers()"> <p>用户名 <input type="text" name="name" onkeyup="checkComments()"/> </p> <p>密码 <input type="text" name="pwd" /></p> <p> <input type="submit" name="Submit" value="提交"/> </p></form><script language="javascript">function CheckUers(){var name=document.getElementById("name").value;var pwd=document.getElementById("pwd").value;if(name=="" || pwd==""){alert("用户名或密码不能为空");return false;}else if(name.length<6 && pwd.length<6){alert("用户名或密码字符长度不能为小于6位");return false;}return true;}<!--不能输入特殊字符-->function checkComments(){ reg = /^[0-9a-z]+$/ig;if(!reg.test(document.getElementById("name").value))alert("不能输入特殊字符");} </script> 感谢楼上的几位热心人 如果要用到正则表达式的话 就没必要这么麻烦了 直接在文本框上面用正则表达式让客户输不进特殊符号就行了我还是新手,目前还在学习中,也不了解正则表达式,不想用的不明不白的我用的方法是:for(var i=0;i<name.value.length;i++){var charTest=name.value.toLowerCase().charAt(i);if((!(charTest>=0 && charTest<=9))&&(!(charTest>='a' && charTest<='z'))){alert("不能输入特殊字符");}} 在jquery tabs中,我想点击“链接二”进入第二个选项卡,点击“链接三”进入第三个选项卡,怎么实现? 求一个只能输入数字,英文逗号和字母x的正则式 怎么alert()弹不出内容 配置了APACHE和TOMCAT负载均衡后,firefox中的window.document.getElementById不能用 关与offsetTop的作用~网上看了些资料还是不怎么明白~~需要大侠帮助~~~~ 求一个正则表达式 关于鼠标选中文字的问题。 从iframe中取值的问题 div 置顶的问题 求代码,大家帮我,谢谢. 首页效果太多,内存溢出啊 JS小问题
{
alert("用户名或密码不能为空");
return false;
}else if(name.length<6 && pwd.length<6)
{
alert("用户名或密码字符长度不能为小于6位");
return false;
}
改为:
if(!name || name==""||!pwd || pwd=="")
{
alert("用户名或密码不能为空");
return false;
}else if(name.length<6 && pwd.length<6)
{
alert("用户名或密码字符长度不能为小于6位");
return false;
}
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="css.css" type="text/css"><title>sadf</title>
</head><body>
<form id="form1" name="form1" method="post" action="Untitled-2.html"
onsubmit="return CheckUers()">
<p>用户名
<input type="text" name="name" id="name" onkeypress="return checkComments(document.getElementById('name').value)"/>
</p>
<p>密码
<input type="text" name="pwd" id="pwd"/>
</p>
<p>
<input type="submit" name="Submit" value="提交"/>
</p>
</form>
</body>
<script language="javascript">
<!--不能为空,字符长度不能小于6位-->
function CheckUers()
{
var name=document.getElementById("name").value;
var pwd=document.getElementById("pwd").value;if(name=="" || pwd=="")
{
alert("用户名或密码不能为空");
return false;
}else if(name.length<6 && pwd.length<6)
{
alert("用户名或密码字符长度不能为小于6位");
return false;
}
return true;
}
<!--不能输入特殊字符-->
function checkComments(num)
{
var myreg=/^(?!.*?[\'\"\!@\#\$%\^&\*\~,\.]).*$/
if(!myreg.test(num))
{
alert("不能输入特殊字符");
return false;
}
}
</script>
这样就可以了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
<!--不能为空,字符长度不能小于6位-->
function CheckUers()
{
var name=document.getElementsByName("name")[0].value;
var pwd=document.getElementsByName("pwd")[0].value;if(name=="" || pwd=="")
{
alert("用户名或密码不能为空");
return false;
}else if(name.length<6 && pwd.length<6)
{
alert("用户名或密码字符长度不能为小于6位");
return false;
}
return true;
}
var reg=/^[a-zA-Z0-9]*$/;
<!--不能输入特殊字符-->
function aa(){
var name=document.getElementsByName("name")[0].value;
var pwd=document.getElementsByName("pwd")[0].value;
if(!reg.test(name)){
document.getElementsByName("name")[0].value=name.replace(/[^a-zA-Z0-9]*$/, ''); ;
alert("用户名不能为空,且由长度不超过6的字母或数字组成!");
return false;
}
if(!reg.test(pwd)){
document.getElementsByName("pwd")[0].value=pwd.replace(/[^a-zA-Z0-9]*$/, ''); ;
alert("密码不能为空,且由长度不超过6的字母或数字组成!");
return false;
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="Untitled-2.html"
onsubmit="return CheckUers()">
<p>用户名
<input type="text" name="name" onkeyup="aa();" maxlength="6"/>
</p>
<p>密码
<input type="text" name="pwd" onkeyup="aa();" maxlength="6"/>
</p>
<p>
<input type="submit" name="Submit" value="提交"/>
</p>
</form> </body>
</html>
onsubmit="return CheckUers()">
<p>用户名
<input type="text" name="name" onkeyup="checkComments()"/>
</p>
<p>密码
<input type="text" name="pwd" />
</p>
<p>
<input type="submit" name="Submit" value="提交"/>
</p>
</form><script language="javascript">function CheckUers()
{
var name=document.getElementById("name").value;
var pwd=document.getElementById("pwd").value;if(name=="" || pwd=="")
{
alert("用户名或密码不能为空");
return false;
}else if(name.length<6 && pwd.length<6)
{
alert("用户名或密码字符长度不能为小于6位");
return false;
}
return true;
}
<!--不能输入特殊字符-->
function checkComments()
{
reg = /^[0-9a-z]+$/ig;
if(!reg.test(document.getElementById("name").value))
alert("不能输入特殊字符");
} </script>
直接在文本框上面用正则表达式让客户输不进特殊符号就行了我还是新手,目前还在学习中,也不了解正则表达式,不想用的不明不白的我用的方法是:
for(var i=0;i<name.value.length;i++)
{
var charTest=name.value.toLowerCase().charAt(i);
if((!(charTest>=0 && charTest<=9))&&(!(charTest>='a' && charTest<='z')))
{
alert("不能输入特殊字符");}
}