Java或者Jsp如果判断一串字符中含有中,日,英三中文字 可行的方案?判断ascII的码值就行了阿~去查ascII的字符对照表~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可行的方案?判断ascII的码值就行了阿~去查ascII的字符对照表~ js:的,返回值:1: 全由非英文组成;0:含有英文你可以把日文假名放入strSource改成判断日文的。至于中文可以用判断ascII的码值>255 而<某个值来判断function fucPWDchk(str){ var strSource ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var ch; var i; var temp; for (i=0;i<=(str.length-1);i++) { ch = str.charAt(i); temp = strSource.indexOf(ch); if (temp==-1) { return 1; } } if (strSource.indexOf(ch)==-1) { return 1; } else { return 0; } } 应该用过unicode编码范围来判断。Java内部是支持unicode编码的,这套编码汇集了基本地球的大多数语言。当然包括中文和日文。 楼上的,你说的是Character这个类吗?偶看了半天,没什么思路啊。253ing 读出来每个文字的unicode,用字符集判断。不过字符集是断断续续的,要仔细找全了! for (int i = 0; i < str.length; i++) { byte arr[] = str.getBytes("encoding"); if (arr.length != 2) { // is eng } else { int ib = arr[0] >= 0 ? ((int) (arr[0])) : arr[0] - -256; int ia = arr[1] >= 0 ? ((int) (arr[1])) : arr[1] - -256; int ccode = (ib << 8) + ia; if ( ??? < ccode < ???) { // is chinese } else if (?? < ccode < ??) { // is japanese } else { // other case } }}范围自己找吧。 有些日文的汉字和中文的unicode都一样。怎么判? 是一样吗?虽然看起来一样,但unicode应该不同吧。如果相同的话,那就没辙了。 “有些日文的汉字和中文的unicode都一样。”胡说八道。 汉字:\u4e00,\u9fa5韩文:(\uAC00,\uD7A3),(AC00,FAFF)共两个区间至于日本的,阁下自己去查吧。我比较讨厌和日本打交道及处理日本的任何东西。以上范围基于unicode4.0。楼主不要指望csdn上的热心得分者可以为您彻底解决问题,给您提了建设性的意见,具有指导价值就够了,剩余的还是要靠自己去解决。上面的范围也是我在unicode网站上查了2个小时并验证后得出的结果。您在使用时要清楚您系统的uncode标准版本号等。方向及技术路线已经非常明确了。Good Luck! socket报错啊 java 自定义鼠标光标 序列化异常 java的结果集是什么东西呢 java程序里插入图片 <求助>java运行难题~ java文件操作 TIJ4就要发布了,有没有对英语比较感兴趣的想一起翻译呀? 使用Runtime调用windows程序遇到的非常奇怪的问题 关于ButeBuffer的问题 求教!! 一份试题,高分求救 运行applet出错:java.lang.NoClassDefFoundError。
你可以把日文假名放入strSource改成判断日文的。
至于中文可以用判断ascII的码值>255 而<某个值来判断function fucPWDchk(str)
{
var strSource ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
return 1;
}
}
if (strSource.indexOf(ch)==-1)
{
return 1;
}
else
{
return 0;
}
}
Java内部是支持unicode编码的,这套编码汇集了基本地球的大多数语言。当然包括中文和日文。
byte arr[] = str.getBytes("encoding");
if (arr.length != 2) {
// is eng
} else {
int ib = arr[0] >= 0 ? ((int) (arr[0])) : arr[0] - -256;
int ia = arr[1] >= 0 ? ((int) (arr[1])) : arr[1] - -256;
int ccode = (ib << 8) + ia;
if ( ??? < ccode < ???) {
// is chinese
} else if (?? < ccode < ??) {
// is japanese
} else {
// other case
}
}
}范围自己找吧。
怎么判?
如果相同的话,那就没辙了。
韩文:(\uAC00,\uD7A3),(AC00,FAFF)共两个区间
至于日本的,阁下自己去查吧。我比较讨厌和日本打交道及处理日本的任何东西。以上范围基于unicode4.0。楼主不要指望csdn上的热心得分者可以为您彻底解决问题,给您提了建设性的意见,具有指导价值就够了,剩余的还是要靠自己去解决。
上面的范围也是我在unicode网站上查了2个小时并验证后得出的结果。您在使用时要清楚您系统的uncode标准版本号等。方向及技术路线已经非常明确了。
Good Luck!