>  기사  >  웹 프론트엔드  >  순수 JS 코드를 사용하여 문자열에 중국어 문자가 몇 개 있는지 확인하는 방법

순수 JS 코드를 사용하여 문자열에 중국어 문자가 몇 개 있는지 확인하는 방법

高洛峰
高洛峰원래의
2016-12-07 10:07:361297검색

웹사이트 개발에서 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자를 차지합니다. 데이터베이스 테이블 필드의 길이를 초과하면 오류가 발생하므로 전면에서 판단해야 합니다. 판단하는 방법은 두 가지가 있습니다.

방법 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: 사용 문자 유니코드 판정 : 방법은 다음과 같습니다.

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.