Ⅰ js獲取一個字元串的位元組長度
因為中文字占兩個位元組,英文佔一個位元組。
方法1:把中文字替換成兩個字母。然後計算長度。
方法2:直接判斷中文,長度+2。
運用的方法大同小異。都是通過正則表達式,寫unicode編碼。
方法1中
[\u4e00-\u9fa5]:匹配中文字元
[^\x0000-\x00ff]:匹配雙位元組字元(包括中文字)
正則表達示 /[\u4e00-\u9fa5]/g 的 g 必須要,global,全部都要檢查的意思。沒有的話輸出的是(2333aa哈)
方法2中的函數
擴展:
Ⅱ JS獲取字元串長度的問題!~
你這態度不太好,人家 303392049 給你回答問題,不管對不對 都不應該這樣說。專。
字元串裡面應該是屬html源代碼
比如: $context="你好<br/>大家好<br/>全都好";
簡單獲取字元串用 $context.length
如果1個中文字算兩個字元的話用下面的函數 getLength($context);
function getLength(str){
var len=str.length;
var reLen=0;
for(var i=0;i<len;i++){
if(str.charCodeAt(i)<27 || str.charCodeAt(i)>126){
reLen +=2;
}else{
reLen ++;
}
}
return reLen;
}
Ⅲ js獲取一個字元串中字母的個數
JS獲取字元串字母個數,方法是:使用屬性「.length」。
詳細的操作步驟如下:
1、首先,創建一個新的HTML文檔並創建一個<script>標簽,如下圖所示。
Ⅳ js中一個字元串不知道多長,怎麼可以得到它從第三位開始後面所有的字元
js獲取一個字元串最後的一個字元,可以參考 如下方法 :
方法一:運用String對象下的charAt方法
charAt() 方法可返回指定位置的字元。
str.charAt(str.length – 1)
請注意,javaScript 並沒有一種有別於字元串類型的字元數據類型,所以返回的字元是長度為 1 的字元串
方法二:運用String對象下的substr方法
substr() 方法可在字元串中抽取從 start 下標開始的指定數目的字元。
str.substr(str.length-1,1)
重要事項:ECMAscript 沒有對該方法進行標准化,因此反對使用它。
重要事項:在 IE 4 中,參數 start 的值無效。在這個 BUG 中,start 規定的是第 0 個字元的位置。()在之後的版本中,此 BUG 已被修正。
方法三:運用String對象下的split方法
split() 方法用於把一個字元串分割成字元串數組。
var str = 「123456″;
spstr = str.split(「」);
spstr[spstr.length-1];
方法四:正則搞定
<script type="text/javascript">
//<![CDATA[
var s = "nasofj;n234n41;v";
alert("String: "+s+"nn"+"LastOne: "+s.replace(/^(.*[n])*.*(.|n)$/g, "$2"));
//]]>
</script>
Ⅳ js取字元串長度
如果其中有英文、數字、符號等,用樓上的 alert("1sS#符".length) 方法是極度不準確的。其結果為回 5
alert(len("1sS#符")) //英文、數字、答符號均為一個位元組,漢字為兩個。 因此結果為 6
function len(s) {
var l = 0;
var a = s.split("");
for (var i=0;i<a.length;i++) {
if (a[i].charCodeAt(0)<299) {
l++;
} else {
l+=2;
}
}
return l;
}