收录日期:2018/10/21 01:33:33 时间:2016/05/22 09:12:34 标签:基础编程
怎么让程序判断一段文本中的中文字符和英文字符
譬如下面这句:

全球化的趋势在China蔓延。


这句话怎么按照字符(中文字符,英文字符)一个一个的循环取出来?

谢谢
http://www.zmcn.com/bbs/html/5_191.htm
Rem 汉字判断
function isChinese(para)
       on error resume next
       dim str
       dim i
       if isNUll(para) then 
          isChinese=false
          exit function
       end if
       str=cstr(para)
       if trim(str)="" then
          isChinese=false
          exit function
       end if
       for i=1 to len(str)
     c=asc(mid(str,i,1))
             if c>=0 then 
    isChinese=false 
              exit function
           end if
       next
       isChinese=true
       if err.number<>0 then err.clear
   end function
%>

如:
if not isChinese(request("name")) then
 errmsg=errmsg+"
"+"<li>用户名应为汉字"
 founderr=true
else
 username=trim(request("name"))
end if


这样更简单
 for(i=0;i<realname.length;i++){
  char=realname.charCodeAt(i);  
  if(!(char>255)){  
   alert("真实姓名应为汉字!");
   userform.realname.focus();
   return false;
   }

<input type=text name=txt>
<input type=button value=ok onclick="cc()">
<script language=javascript>
function cc()
{
var j = 0;
var s = document.all.txt.value;
if (s=="")return;
if (/[^x00-xff]/g.test(s)) alert("含有汉字");
else alert("全是字符");
for (var i=0; i<s.length; i++)
{
if (s.charCodeAt(i) > 255) j = j + 2;
else j++
}
alert("字符数:"+j);
}
</script>
<?php
$s = "全球化的趋势在China蔓延。";
preg_match_all("/[\x80-\xff]?./",$s,$regs);
print_r($regs);
?>
楼上的能给简单讲解一下嘛?
好象就是取ASCII码大于127就是吧!
很简单,用正则表达式/[\x80-\xff]?./去匹配字符,结果在数组$regs中
按中文编码标准,一个汉字由两个字节组成,其中首字符的值>128即16进制80

由于中文的ASCII码是有一定的范围的。所以你可以用下面的正则表达式来表示中文。

/^[chr(0xa1)-chr(0xff)]+$/

下面是一个使用的例子:
$str = "我爱你:php";
if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str) {
  echo "这是一个纯中文字符串";
} else {
  echo "这不是一个纯中文字串";

结帖吧~!
繁体有区别吗?
BIG码汉字是0xA440-0xF97E、0xA4A1-0xF9FE吧?
以前我用一个切字符串的改处理简体就处理不了繁体改处理繁体就处理不了简体

如何同时对繁简体进行检测?
道理一样的,分ASCII代码段
/[\x80-\xff]?./
可以匹配任何字符,其中
[\x80-\xff]匹配扩展ascii码部分,.匹配任意字符
任何宽字符都由一个“扩展ascii码”字符和一个“任意字符”组成,只是这个“任意字符”是受限的

想学Delphi,有什么入门的教材没有? 如何快速选择EXCEL的一长列的数字 修改的一个老论坛,请大家测试一下安全机制,明天结贴 byte数组处理的问题,想了一下午没想到好的解决办法。 大家帮帮我啊,我该怎么办? 关于锁,谁帮我解决这个问题(88分) 湖南2004年下半年软考(程序员)统计情况---(个人软件统计,不是官方发布) 转 如何将节点数据以层的样式显示出来(在html+xml+xsl环境下) xml的模糊搜索问题 求Tomcat+jsp/servlet的解决方案!! 为何字符串无法输出 ==IIS问题== 关于web.xml文件的简单问题 请问判断两个字符串变量s1和s2是否相等,用if s1 = s2是否规范? 求一段SQL语句 用户选择日期 abstract factory 用户选择日期 谁能给我一个带后台管理的下拉框式三级连动代码? 一道C语言题目 新年过后,新的工作新的面试,恳请各位兄弟传授经验。来者有分,不够再加! 定时下载网页信息 有没有人对GZIP算法了解的?? 英文版windows2003+IIS6,asp.net页面中文字符显示不正常,很多问号 请问怎样向自动增长的标识列添加数据 极值,鞍点,拐点的问题 WinInet API的一个奇怪的问题 用win2000好还是win2003好 System.Data.SqlClient.SqlException: 第 1 行: \'=\' 附近有语法错误 求助呀!!!!