Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie reinen JS-Code, um zu bestimmen, wie viele chinesische Zeichen eine Zeichenfolge enthält

So verwenden Sie reinen JS-Code, um zu bestimmen, wie viele chinesische Zeichen eine Zeichenfolge enthält

高洛峰
高洛峰Original
2016-12-07 10:07:361297Durchsuche

Bei der Website-Entwicklung wird JS-Code häufig einfach verwendet, um zu bestimmen, wie viele chinesische Zeichen in einer Zeichenfolge enthalten sind. Heute nehme ich mir die Zeit, Ihnen den Implementierungscode vorzustellen. Ohne weitere Umschweife werde ich einfach den Code für Sie posten.

$("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;
}
});


Okay, der obige Code ist die Implementierungsmethode von js, um zu bestimmen, wie viele chinesische Schriftzeichen darin enthalten sind eine Zeichenfolge.

ps: JS bestimmt die Länge der Eingabezeichenfolge (chinesische Zeichen zählen als zwei Zeichen, Buchstaben und Zahlen zählen als eins)

Chinesische Zeichen belegen 2 Zeichen in der Datenbank, wenn die Eingabezeichen Wenn die Länge des Datenbanktabellenfelds überschritten wird, treten Fehler auf, sodass eine Beurteilung im Vordergrund erfolgen muss. Es gibt zwei Möglichkeiten zur Beurteilung:

Methode 1: Verwenden Sie reguläre Ausdrücke. Der Code lautet wie folgt:

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

Methode 2: Verwenden Sie die Unicode-Beurteilung von Zeichen: Die Methode lautet wie folgt:

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn