웹사이트 개발에서 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자로 계산, 문자와 숫자는 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; }