当前位置:  开发笔记 > 编程语言 > 正文

验证假名输入

如何解决《验证假名输入》经验,为你挑选了2个好方法。

我正在开发一个允许用户输入日语字符的应用程序.我试图想出一种方法来确定用户的输入是否是日本假名(平假名,片假名或汉字).

应用程序中的某些字段输入拉丁文本是不合适的,我需要一种方法将某些字段限制为仅限汉字,或仅限片假名等.

该项目使用UTF-8编码.我不希望接受JIS或Shift-JIS输入.

想法?



1> coobird..:

不确定一个完美的答案,但维基百科上列出的片假名和平假名有一个Unicode范围.(我也期望从unicode.org获得.)

平假名:Unicode:3040-309F

片假名:Unicode:30A0-30FF

根据输入检查这些范围应该以语言无关的方式验证Unicode的平假名或片假名.

对于汉字,我希望它有点复杂,因为我希望中文和日文中使用的汉字都包含在同一范围内,但话说回来,我可能错了.(我不能指望将简体中文和繁体中文包含在同一范围内......)



2> Jon Skeet..:

听起来你基本上只需要检查每个Unicode字符是否在特定范围内.该Unicode代码图表应该是一个很好的起点.

如果您正在使用.NET,我的MiscUtil库有一些Unicode范围支持 - 它是原始的,但它应该完成这项工作.我现在没有动手来源,但如果有帮助的话,稍后会用一个例子来更新这篇文章.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有