引用頁: http://javasam.iteye.com/blog/1465048
UTF-8有點類似於Haffman編碼,它將Unicode編碼為:0x00-0x7F的字符,用單個字節來表示;0x80-0x7FF的字符用兩個字節表示;0x800-0xFFFF的字符用3字節表示;
漢字的unicode范圍是:0x4E00~0x9FA5
其實這個范圍還包括了中,日,韓的字符
方法1
<script language="javascript">
function isChina(str){
if(/.*[\u4e00-\u9fa5]+.*$/.test(obj)) // \u 表示unicode
{
alert("不能含有漢字!");
return false;
}
return true;
}
方法2
<script language="javascript">
function isChina(s){
var patrn=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
// [\u4E00-\u9FA5]表示漢字,[\uFE30-\uFFA0]表示全角
if(!patrn.exec(s)){
return false;
}
else{
return true;
}
}
方法3
<script language="javascript">
function isChina(s){
var index = escape(s).indexOf("%u");
if(index < 0){return false;}else{return ture}
}
方法3原理:escape對字符串進行編碼時,字符值大於255的以"%u****"格式存儲,而字符值大於255的恰好是非英文字符(一般是中文字符,非中文字符也可以當作中文字符考慮);indexOf用以判斷在字符串中是否存在某子字符串,找不到返回"-1"。