使用純JS代碼判斷字符串中有多少漢字的實(shí)現(xiàn)方法(超簡單實(shí)用)
在網(wǎng)站開發(fā)中,經(jīng)常會簡單使用js代碼來判斷字符串中有多少漢字的功能。今天小編抽時間給大家分享實(shí)現(xiàn)代碼。廢話不多說了,直接給大家貼代碼了。
$("form").submit(function () {
var content = editor.getContentTxt();
var sum = 0;
re = /[\u4E00-\u9FA5]/g; //測試中文字符的正則
if (content) {
if (re.test(content)) //使用正則判斷是否存在中文
{
if (content.match(re).length <= 10) { //返回中文的個數(shù)
$.dialog.tips("帖子正文不能小于10個漢字!");
return false;
}
else {
var $submit = $("input[type='submit']").attr("disabled", true);
setTimeout(function () { $submit.attr("disabled", false) }, 5000);
return true;
}
}
else {
$.dialog.tips("帖子正文不能小于10個漢字!");
return false;
}
}
else {
$.dialog.tips("帖子正文不能小于10個漢字!");
return false;
}
});
好了,以上代碼是js判斷字符串有多少漢字的實(shí)現(xiàn)方法。
ps:JS判斷輸入字符串長度(漢字算兩個字符,字母數(shù)字算一個)
漢字在數(shù)據(jù)庫中占2個字符,如果輸入字符超過數(shù)據(jù)庫表字段長度,會出現(xiàn)錯誤,因此需要在前臺進(jìn)行判斷。有兩種方法進(jìn)行判斷:
方法一:使用正則表達(dá)式,代碼如下:
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null)
{
len += 2;
}
else
{
len += 1;
}
}
return len;
}
方法二:使用字符unicode判斷:方法如下:
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var length = val.charCodeAt(i);
if(length>=0&&length<=128)
{
len += 1;
}
else
{
len += 2;
}
}
return len;
}
以上所述是小編給大家介紹的使用純JS代碼判斷字符串中有多少漢字的實(shí)現(xiàn)方法(超簡單實(shí)用),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的。
相關(guān)文章
webpack-url-loader 解決項(xiàng)目中圖片打包路徑問題
這篇文章主要介紹了webpack-url-loader 解決項(xiàng)目中圖片打包路徑問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
IE之動態(tài)添加DOM節(jié)點(diǎn)觸發(fā)window.resize事件
因?yàn)轫撁婧芏郩I是絕對定位的,所以當(dāng)窗口大小改變的時候會使原先的布局混亂,只好在每次window.resize的時候重新布局...2010-07-07
JavaScript進(jìn)階(二)詞法作用域與作用域鏈實(shí)例分析
這篇文章主要介紹了JavaScript詞法作用域與作用域鏈,結(jié)合實(shí)例形式分析了JavaScript詞法作用域與作用域鏈相關(guān)概念、原理與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
微信小程序Page中data數(shù)據(jù)操作和函數(shù)調(diào)用方法
這篇文章主要介紹了微信小程序Page中data數(shù)據(jù)操作和函數(shù)調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
javascript setTimeout()傳遞函數(shù)參數(shù)(包括傳遞對象參數(shù))
由于需要,我要用到setTimeout()并且在里邊的函數(shù)參數(shù)傳遞一個參數(shù),就像這樣setTimeout("fun(參數(shù))", 1000)。但是以我這種寫法,js會報錯,說‘參數(shù)’未定義。2010-04-04

