日期:2014-05-17  浏览次数:20833 次

各位朋友帮我看看,为什么检验非法字符的功能不起作用???在线等。。。
各位朋友,帮我看看以下代码,为什么在提交后,不能调用检测非法字符的代码呢??输入非法字符后一点提示都没有,不知道哪里写错了??希望各位朋友帮我指正一下,谢谢!!
<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();
..