ホームページ  >  記事  >  ウェブフロントエンド  >  純粋な JS コードを使用して文字列に含まれる中国語の文字の数を確認する方法

純粋な JS コードを使用して文字列に含まれる中国語の文字の数を確認する方法

不言
不言オリジナル
2018-07-03 10:29:143721ブラウズ

この記事では主に、文字列に含まれる漢字の数を決定するための JS の実装方法を紹介し、その後、JS を使用して入力文字列の長さを決定する 2 つの方法を共有します。これは非常に優れており、参考になります。興味のある友達は一緒に読んでみてください

ウェブサイト開発では、文字列に含まれる漢字の数を単に 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=&#39;submit&#39;]").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 文字を占める場合は、入力文字列の長さが JS によって決まります。データベーステーブルのフィールドを指定した場合はエラーとなりますので、フロントにて判断が必要です。判定方法は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;
}

上記はこの記事の内容全体がお役に立てば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

JavaScript を使用して画像に基づいたバーコードを取得する方法

ネイティブ JS+Canvas を使用してバックギャモン ゲームを実装するコード

以上が純粋な JS コードを使用して文字列に含まれる中国語の文字の数を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。