找回密码
 加入
搜索
查看: 4774|回复: 14

[系统综合] 如何判断一个字符串是纯中文?

 火.. [复制链接]
发表于 2010-3-6 13:03:56 | 显示全部楼层 |阅读模式
Func hazjc($txt) ;纯汉字返回1 否则返回0
        $ch = StringRegExp($txt, '[^\x00-\xff]+', 3)
        If @Error = 0 Then
                If $ch[0] = $txt Then
                        Return 1
                Else
                        Return 0
                EndIf
        Else
                Return 0
        endif
EndFunc   ;==>hazjc

这是我目前用的正则
却不能精确的判断 例如全角符号的排除

望高手整个更加完美的办法
发表于 2010-12-19 19:43:11 | 显示全部楼层
谢谢楼上各位, 偶自己修改了下,这是我想要的
Func _shifou_hazi($txt_tmp) ;字符串中只要其中有一个汉字返回1 否则返回0

        $arry_tmp = StringToASCIIArray($txt_tmp)
        For $i = 0 To StringLen($txt_tmp) - 1 Step 1
                If $arry_tmp[$i] > 255 Then
                        ;MsgBox(0, $arry_tmp[$i], ChrW($arry_tmp[$i]) & " 是中文字符!")
                        Return 1
                EndIf
        Next
        Return 0
        
EndFunc   ;==>_shifou_hazi

评分

参与人数 1金钱 +10 收起 理由
殇·愚 + 10 赞一个! 刚好用上了. 感谢!

查看全部评分

发表于 2010-3-6 13:16:20 | 显示全部楼层
除了\x 还有一种\u的 你可以找找...
发表于 2010-3-6 13:23:15 | 显示全部楼层
[^\x00-\xff] 是中文 字、符,没分开 字 符,貌似没办法,因为不支持 \u
你的代码可以精简些
Func hazjc($txt) ;纯汉字返回1 否则返回0
        If StringRegExp($txt, '^[^\x00-\xff]+$') Then Return 1
EndFunc   ;==>hazjc
发表于 2010-3-16 12:25:50 | 显示全部楼层
正则  看上去简单  但又难记下还有就是难配对  哎 羡慕
发表于 2010-3-16 12:47:04 | 显示全部楼层
新手!学习学习!!
发表于 2010-3-16 16:11:16 | 显示全部楼层
新手,学习学习!
发表于 2010-4-20 11:47:59 | 显示全部楼层
学习了,正好有用 !!!!
发表于 2010-4-20 17:21:28 | 显示全部楼层
正则是好东西
在平时经常能轻易解决很多相对复杂的字符串处理
想技高一筹就得去耐心学学
发表于 2010-4-20 17:33:00 | 显示全部楼层
还有个方法。
$str="欢迎使用 ACN 中文论坛出品的 AUTOIT V3 汉化版!"
$arry=StringToASCIIArray($str)
For  $i=0 To StringLen($str)-1 Step 1
        If $arry[$i] >255 Then
                MsgBox(0,$arry[$i],ChrW($arry[$i])&" 是中文字符!")
        EndIf
Next

评分

参与人数 1金钱 +25 贡献 +4 收起 理由
lynfr8 + 25 + 4 很棒的见解

查看全部评分

发表于 2010-4-20 20:12:53 | 显示全部楼层
正则是个好东西,一直没时间好好的研究一下
发表于 2010-4-21 03:51:54 | 显示全部楼层
api里有判断字符串是否只包含字母和数字的,不知道中文的怎么搞
发表于 2010-4-21 17:23:28 | 显示全部楼层
正则好用不好记啊
发表于 2010-6-4 22:36:31 | 显示全部楼层
学习了,正好有用 !!!!
发表于 2011-10-13 17:21:48 | 显示全部楼层
不错啊,可以的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-13 05:10 , Processed in 0.089239 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表