文字列にどれだけ漢字があるかを純粋なJSコードで判断する方法(超単純実用)

1744 ワード

ウェブサイト開発では、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文字、英数字1文字)
漢字はデータベースに2文字で、入力文字がデータベーステーブルフィールドの長さを超えるとエラーが発生するため、フロントで判断する必要があります.判断には2つの方法があります.
方法1:正規表現を使用します.コードは次のとおりです.

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;
}

方法2:文字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コードを使って文字列の中にどれだけの漢字があるかを判断する方法(超簡単で実用的)を紹介しましたが、皆さんの役に立つことを願っています.