首页 新闻 搜索 专区 学院

js 处理用户输入

0
悬赏园豆:15 [已解决问题] 解决于 2011-06-03 14:43

搜索框,验证是否有非法字符,我是这么写的

  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
提问于:2011-05-24 15:28
< >
分享
最佳答案
0

使用正则表达式更方便啊

/^\w+$/.test('验证的字符')

收获园豆:15
慧☆星 | 大侠五级 |园豆:5555 | 2011-05-25 09:27
其他回答(2)
0
//这事判断用户名中是否有非法字符的一段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



随风浪迹天涯 | 园豆:932 (小虾三级) | 2011-05-24 15:40
0

使用正则表达式吧,比较方便的,你可以试试,网上哟很多现成的表达式

if(!/^\w+$/.test(uname)) //用户名只能是数字、字母和下划线组成
{
alert("用户名只能是数字、字母和下划线组成,请重新输入");
form1.uname.value="";
form1.uname.focus();
return false;
}

左手年华 | 园豆:338 (菜鸟二级) | 2011-05-25 10:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册