首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  HTML/JS/CSS技术专区 » [原创]表单的一个问题,大家帮帮忙!  


  作者:cykk
  注册时间:2004-12-30
  主题/回复:41/99
  积分:688
  等级:★★★(六级)
  称号:声名鹊起

  keke9668@263.net..
  272782316
  cyxk.go1.icpcn.com

 

 发表:2005-06-16 05:58:49 阅读 2243 次 回复 2 次 得分2  |   字号 字色
[原创]表单的一个问题,大家帮帮忙!
    现在在表单中有两个文本框,一个是文本框,只允许输入中文字符,输入其它的字符会弹出个对话框给予提示!另一个文本框只允许输入数字型的数据,应该怎样控制?代码谁有?急用啊!
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-06-16 16:11:44  评分:1 

只允许输入数字是比较容易。用JS判断即可。
比如输入进来的字符串放在变量 str1中 

    str1=theForm.user_name.value;
    jihe='01232456789';
    for(i=0;i<user_name.length;i++){
 if(jihe.indexOf(user_name.substr(i,1))==-1){
    alert("用户名含有非数字字符!");
    return false;
  }
  }

这样判断数字肯定是没问题的。不过要判断中文字符,怕是难度就大了。
还没有试过用JS来判断字符是否为中文。用PHP倒是可以。
如果用JS的话,我觉得就不能用穷举的方法了,因为汉字太多了,可以用反证法,就是把不是汉字的字符穷举一下,比如上面的例子中
  jihe='0123456789abcdefghijklmnopqrstuvwxyz!@#$%^&*()_+-=|\}{[].;';
  总之就是把 0--127 这128个ASCII字符穷举,然后用上面的循环判断法,看看输入的字符串中有没有包含着128个字符中的一个。如果都没有包括,那说明整个字符串全是非ASCII字符。既然是非ASCII字符,基本上就是中文字符了。
 2#楼  
 
  回复人:Miyahoo
  注册时间:2004-04-04
  主题/回复:39/255
  积分:1210
  等级:★★★☆(七级)
  称号:论坛贤士

   
 2#楼 发表于2005-06-22 01:20:02  评分:1 

误人子弟啊?楼主去研究一下 “正则表达式” 吧。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.005sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版