各位朋友帮我看看,为什么检验非法字符的功能不起作用???在线等。。。
各位朋友,帮我看看以下代码,为什么在提交后,不能调用检测非法字符的代码呢??输入非法字符后一点提示都没有,不知道哪里写错了??希望各位朋友帮我指正一下,谢谢!!
<script language=Javascript>
var flag=true;
function checkinput(form)
{
if(form("subject").value=="")
{alert("请输入留言标题!");form("subject").focus();flag=false;return flag;}else{flag=true;}
if(form("from").value=="")
{alert("请输入你的电子邮件地址!");form("from").focus();flag=false;return flag;}else{flag=true;}
if(form("from").value.search("@")==-1)
{alert("你的电子邮件地址填写有误,请检查输入!");form("from").focus();flag=false;return flag;}else{flag=true;}
if(form("name").value=="")
{alert("请填入你的姓名!");form("name").focus();flag=false;return flag;}else{flag=true;}
if (flag=true) {flag=checkchar(form("subject").value)}
if (flag=true) {flag=checkchar(form("from").value)}
if (flag=true) {flag=checkchar(form("name").value)}
if (flag=true) {flag=checkchar(form("address").value)}
if (flag=true) {flag=checkchar(form("company").value)}
if (flag=true) {flag=checkchar(form("telphone").value)}
if (flag=true) {flag=checkchar(form("fax").value)}
if (flag=true) {flag=checkcharbody(form("body").value)}
return flag;
}
function checkchar(str)
{
str=str.toLowerCase()
oldstr=str
str="2"+str
if (str.search("<"+"%")>0)
{
window.alert("("+oldstr+")中有非法字符,请检查!");
return false;
}
if (str.search("<scrip"+"t")>0)
{
window.alert("("+oldstr+")中有非法字符,请检查!");
return false;
}
if (str.search("'")>0)
{
window.alert("("+oldstr+")中有非法字符,请检查!");
return false;
}
if (str.search('"')>0)
{
window.alert("("+oldstr+")中有非法字符,请检查!");
return false;
}
return true;
}
function checkcharbody(str)
{
str=str.toLowerCase()
oldstr=str
str="2"+str
if (str.search("<"+"%")>0)
{
window.alert("("+oldstr+")中有非法字符,请检查!");
return false;
}
if (str.search("<scrip"+"t")>0)
{
window.alert("("+oldstr+")中有非法字符,请检查!");
return false;
}
return true;
}
</script>
------解决方案--------------------比较是两个等号==。if (flag==true)
------解决方案--------------------if (flag=true) {flag=checkchar(form("subject").value)}
if (flag=true) {flag=checkchar(form("from").value)}
...
都要改成
if();
else if();
else if();
else if();
..