您的位置:首页 > 编程语言 > Java开发

JS/Java中,判断字符串是否包含中文

2013-04-26 16:09 639 查看
网络上类似的代码一般都是JS判断字符串是否全为中文,但判断是否包含中文的代码很少,这里提供三种方法:

<script language="javascript">
function funcChina(){
var obj = document.form1.txtName.value;
if(/.*[\u4e00-\u9fa5]+.*$/.test(obj))
{
alert("不能含有汉字!");
return false;
}
return true;
}
</script>
<form name="form1">
<input type="text" name="txtName"><input type="button" name="butTxt" value="判断是否是汉字" onclick="funcChina()">
</form>


<script language="javascript">
function isChina(s){
var patrn=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
if(!patrn.exec(s)){
return false;
}
else{
return true;
}
}
alert(isChina("中国站长天空www.zzsky.cn"));
</script>


 

<script language="javascript">
var str='中国站长天空www.zzsky.cn';
if(escape(str).indexOf("%u")<0){
alert("没有包含中文");
}
else{
alert("包含中文");
}
</script>


Java中:

/**
* 判断str是否为中文字符.
*
* @param str
* @return
*/
private static boolean chineseEncode(String str){

char[] chars=str.toCharArray();
boolean isGB2312=false;
for(int i=0;i<chars.length;i++){
byte[] bytes=(""+chars[i]).getBytes();
if(bytes.length==2){
int[] ints=new int[2];
ints[0]=bytes[0]& 0xff;
ints[1]=bytes[1]& 0xff;
if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){
isGB2312=true;
break;
}
}
}
return isGB2312;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: