您的位置:首页 > Web前端 > JavaScript

使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)

2016-11-12 09:20 871 查看

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

以上所述是小编给大家介绍的使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 字符串 汉字
相关文章推荐