在網站開發中,經常會簡單使用js代碼來判斷字符串中有多少漢字的功能。今天小編抽時間給大家分享實現代碼。廢話不多說了,直接給大家貼代碼了。
$("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) { //返回中文的個數 $.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判斷字符串有多少漢字的實現方法。
ps:JS判斷輸入字符串長度(漢字算兩個字符,字母數字算一個)
漢字在數據庫中占2個字符,如果輸入字符超過數據庫表字段長度,會出現錯誤,因此需要在前台進行判斷。有兩種方法進行判斷:
方法一:使用正則表達式,代碼如下:
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代碼判斷字符串中有多少漢字的實現方法(超簡單實用),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的。