您的当前位置:首页正文

使用纯JS代码判断字符串中有多少汉字的方法

2020-11-27 来源:筏尚旅游网

这篇文章主要给大家介绍了js判断字符串中有多少汉字的实现方法然后给大家分享了使用JS判断输入字符串长度的两种方法,非常不错具有参考借鉴价值,感兴趣的朋友一起看看吧

在网站开发中,经常会简单使用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;
}
显示全文