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

高洛峰
Lepaskan: 2016-12-07 10:07:36
asal
1333 orang telah melayarinya

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


好了,以上代码是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;
}
Salin selepas log masuk

方法二:使用字符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;
}
Salin selepas log masuk

   


Label berkaitan:
js
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan