js判斷字符長度 漢字算兩個字符


方法一:使用正則表達式,代碼如下:

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

 

function queryTask(){
var taskNameQueryLength = getByteLen($("#taskNameQuery").val().trim());
if(taskNameQueryLength>4){
jAlert("任務名稱長度為0-160位,其中中文算兩個字符!", "系統提示");
return;
}
var scanTargetQueryLength = getByteLen($("#scanTargetQuery").val().trim());
if(scanTargetQueryLength>4){
jAlert("掃描目標長度為0-65535位!", "系統提示");
return;
}
gridQuery();

}
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var patt = new RegExp(/[^\x00-\xff]/ig);
var a = val[i];
if (patt.test(a))
{
len += 2;
}
else
{
len += 1;
}
}
return len;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM