有同事在公司的OA上發了個貼子,介紹在javascript中如何得到中英文混合字符串的長度。
用的是正則表達式。
復制代碼 代碼如下:
var str = ”坦克是tank的音譯”;
var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;
復制代碼 代碼如下:
string.match(regex) 會以數組形式返回字符串string中匹配正則表達式regex的子串,所以,
str.match(/[^ -~]/g)會以數組的形式返回一個個漢字。例如
var str = "dd大哥";
//顯示"大,哥",數組中返回兩個漢字,數組長度為2
alert(str.match(/[^ -~]/g));
復制代碼 代碼如下:
function get_strlength (str)
{
var len = 0;
if (str.match(/[^ -~]/g) == null)
{
len = str.length;
}
else
{
len = str.length + str.match(/[^ -~]/g).length;
}
return len;
}
新聞熱點
疑難解答
圖片精選