js判斷字符是否是漢字的兩種方法小結(jié)
有時(shí)需要判斷一個(gè)字符是不是漢字,比如在用戶輸入含有中英文的內(nèi)容時(shí),需要判斷是否超過規(guī)定長(zhǎng)度就要用到。用 Javascript 判斷通常有兩種方法。
1、用正則表達(dá)式判斷
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>js判斷字符是否是漢字</title>
<style type="text/css">
.content{
width:350px;
overflow:hidden;
border:1px solid #ddd;
}
</style>
<script language="javascript" type="text/javascript">
function CheckChinese(obj,val){
var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
if(reg.test(val)){
alert("不能輸入漢字!");
var strObj = document.getElementById(obj);
strObj.value = "";
strObj.focus();
}
}
</script>
</head>
<body>
<div class="content">
<div>測(cè)試字符:<input id="test" type="text" onblur="CheckChinese('test',this.value)" /> </div>
</div>
</body>
</html>
2、用 Unicode 字符范圍判斷
以下方法是用于統(tǒng)計(jì)輸入字符串的長(zhǎng)度,如果是漢字,則字符串長(zhǎng)度加2 ;否則字符串長(zhǎng)度加1。
function chkstrlen(str)
{
var strlen = 0;
for(var i = 0;i < str.length; i++)
{
if(str.charCodeAt(i) > 255) //如果是漢字,則字符串長(zhǎng)度加2
strlen += 2;
else
strlen++;
}
return strlen;
}
相關(guān)文章
JavaScript實(shí)現(xiàn)拖拽簡(jiǎn)單效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)拖拽簡(jiǎn)單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
JS使用svg-captcha生成圖片驗(yàn)證碼的示例代碼
nodejs(nestjs)后端開發(fā)過程中會(huì)有一個(gè)需要生成圖片驗(yàn)證碼的功能,其能減少機(jī)器人攻擊操作,本文我們通過?svg-captcha,來實(shí)現(xiàn)一個(gè)驗(yàn)證碼功能,并且小小的優(yōu)化一下其邏輯,需要的朋友可以參考下2024-06-06
js 去掉空格實(shí)例 Trim() LTrim() RTrim()
js 去掉空格實(shí)例Trim(),LTrim(),RTrim() 需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
Nuxt.js中PC與移動(dòng)端間自動(dòng)識(shí)別跳轉(zhuǎn)
本文主要介紹了Nuxt.js中PC與移動(dòng)端間自動(dòng)識(shí)別跳轉(zhuǎn),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
JavaScript實(shí)現(xiàn)旋轉(zhuǎn)輪播圖
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)旋轉(zhuǎn)輪播圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

