在线求助!解决给分

mahdy 2003-06-12 09:59:03
在注册页面中,地址和姓名栏中我要判断用户输入的是否汉字,不是汉字注册不通过,如何判断?快帮帮忙!在线等待,请写出程序。
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2003-06-13
  • 打赏
  • 举报
回复
1、首先这件事情应该在客户端用js进行,这样友好些
/*** 返回字节数 ***/
String.prototype.lenb = function() {
return this.replace(/[^\x00-\xff]/g,"**").length;
}

/*** 检查是否包含汉字 ***/
String.prototype.isInChinese = function() {
return (this.length != this.lenb());
}

2、在php中可以
if(strlen(preg_replace("/[\x7f-\xff]/","",$name)) > 0)
echo "有非汉字字符";
xizi2002 2003-06-13
  • 打赏
  • 举报
回复
错了,是array数组
xizi2002 2003-06-13
  • 打赏
  • 举报
回复
<?php
$content = "中国,asdfsadfa哈哈sdfas中,哈哈,l;fasdfl;kasdk;lfak;lsdfkl;安家落户d;lsaflsad;lf";
$array = array();
$array1 = preg_match_all('/[\x7f-\xff]*/',$content, $array);

//去除空的,统计一下
print "<pre>";
print_r($array1);
print "</pre>";
mahdy 2003-06-12
  • 打赏
  • 举报
回复
不行呀!能否给加到下面的程序中?具体怎么判断,写完整,我没有写过php的程序,定义变量都不知道怎么写。

if (ord(document.Frm.Name.value)>127) {
alert("请您输入汉字!");
document.Frm.Name.focus();
return false;
}
allkill 2003-06-12
  • 打赏
  • 举报
回复
PHP的话这么判断是否为双字节字符

ord(substr($str,$i,1)) > 0xa0)
allkill 2003-06-12
  • 打赏
  • 举报
回复
0x7f是十六进制!
mahdy 2003-06-12
  • 打赏
  • 举报
回复

if (ord(document.Frm.Name.value)>127) {
alert("请您输入汉字!");
document.Frm.Name.focus();
return false;
}

这样对吗?127那儿该怎么写?我看到有的写“0x7f”,什么意思?
mahdy 2003-06-12
  • 打赏
  • 举报
回复
我没有用过php,刚才查了一下,是用ord么?请直接写出答案!谢谢!
budai 2003-06-12
  • 打赏
  • 举报
回复
转换成ASC码,再来判断!!!!

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧