搜索框,验证是否有非法字符,我是这么写的
for(i=0;i<srch.value.length;i++)
{
n = srch.value.charCodeAt(i);
if(!((n>=48&&n<=57)||(n>=65&&n<=90)||(n>=97&&n<=122)||n==95||n<=38&&n>=35)||(n >225))
{
alert("您输入的查询中有非法字符!");
srch.focus();
return false;
}
}
但是这个判断不能通过输入中文,小弟实在对js不甚了解,不知道怎么处理中英文及其他字符混合的处理,希望高手指点一下,有劳了·
3 回答
DIEA
TA贡献1820条经验 获得超2个赞
//这事判断用户名中是否有非法字符的一段js代码,楼主你看看,看看能不能给你点思路Q~~
accoutValue=regForm.account.value
for (i=1;i<accountValue.length;i++)
{
if (accountValue.charAt(i)<'a' || accountValue.charAt(i)>'z')
{
switch (accountValue.charAt(i))
{
case '_':
case '.':
case '~':
break;
default:
alert ("用户名中含有非法字符\""+accountValue.charAt(i)+"\"!");
regForm.account.focus();
regForm.account.value="";
return false;
break;
} //switch
} //if
手掌心
TA贡献1942条经验 获得超3个赞
使用正则表达式吧,比较方便的,你可以试试,网上哟很多现成的表达式
if(!/^\w+$/.test(uname)) //用户名只能是数字、字母和下划线组成
{
alert("用户名只能是数字、字母和下划线组成,请重新输入");
form1.uname.value="";
form1.uname.focus();
return false;
}
添加回答
举报
0/150
提交
取消