亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在javascript中如何得到中英文混合字符串的長度

 更新時間:2014年01月17日 15:35:29   作者:  
本文為大家介紹下Javascript中如何得到中英文混合字符串的長度,下面有個不錯的教程,感興趣的朋友可以參考下

有同事在公司的OA上發(fā)了個貼子,介紹在javascript中如何得到中英文混合字符串的長度。

用的是正則表達式。

復制代碼 代碼如下:

var str = ”坦克是tank的音譯”;
var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;

我查了一下書,有點明白了:

西文常用字符集由空格“ ”(0x20)到“~”(0x7e)構成,漢字會落在這個字符集外,而正則表達式[^ -~]表示除空格到“~”外的字符集。
復制代碼 代碼如下:

string.match(regex) 會以數(shù)組形式返回字符串string中匹配正則表達式regex的子串,所以,
str.match(/[^ -~]/g)會以數(shù)組的形式返回一個個漢字。例如
var str = "dd大哥";
//顯示"大,哥",數(shù)組中返回兩個漢字,數(shù)組長度為2
alert(str.match(/[^ -~]/g));

這樣,var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;就可以得到str的正確長度了。

在javascript中,一個漢字的長度也被計算為1,常常在提交到數(shù)據(jù)庫中造成長度超標的錯誤,現(xiàn)在用這個方法,可以在提交前先檢測一番了。

注:以上代碼有些符號有問題,經(jīng)修正后,改為如下函數(shù)。
復制代碼 代碼如下:

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

相關文章

  • 一個通過script自定義屬性傳遞配置參數(shù)的方法

    一個通過script自定義屬性傳遞配置參數(shù)的方法

    編寫了一個js插件,要使用該插件需要先在html中引入該插件Js,然后再添加一個script標簽,在里面調(diào)用,需要的朋友可以看看
    2014-09-09
  • antd/fusion表格增加圈選復制功能思路詳解

    antd/fusion表格增加圈選復制功能思路詳解

    我們存在著大量在PC頁面通過表格看數(shù)據(jù)業(yè)務場景,表格又分為兩種,一種是antd?/?fusion這種基于dom元素的表格,另一種是通過?canvas?繪制的類似?excel?的表格,這篇文章主要介紹了antd/fusion表格增加圈選復制功能,需要的朋友可以參考下
    2023-09-09
  • 你可能不知道的JSON.stringify()詳解

    你可能不知道的JSON.stringify()詳解

    老司機們,你知道JSON.stringify還有第二個和第三個可選參數(shù)嗎?它們是什么呢?是不是感到不可思議?下面這篇文章就來給大家介紹了一些你可能不知道的JSON.stringify的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-08-08
  • 微信小程序按鈕點擊動畫效果的實現(xiàn)

    微信小程序按鈕點擊動畫效果的實現(xiàn)

    這篇文章主要介紹了微信小程序按鈕點擊動畫效果的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • JS實現(xiàn)圖片延遲加載并淡入淡出效果的簡單方法

    JS實現(xiàn)圖片延遲加載并淡入淡出效果的簡單方法

    我們大家都知道,對于一個網(wǎng)站最占用帶寬,最影響頁面顯示速度的東西就是圖片。圖片是很重要的,作為一個站長我們是千方百計的使用各種技巧來優(yōu)化圖片,但其實有一種簡單的方法,只需要幾行代碼就能達到這種效果。同時還附加一種淡入淡出的顯示效果,下面一起來看看。
    2016-08-08
  • javascript函數(shù)以及基礎寫法100多條實用整理

    javascript函數(shù)以及基礎寫法100多條實用整理

    100多個很有用的JavaScript函數(shù)以及基礎寫法匯總,在項目開發(fā)中經(jīng)常會使用到,本文整理了一些,希望對你們有幫助
    2013-01-01
  • Bootstrap框架動態(tài)生成Web頁面文章內(nèi)目錄的方法

    Bootstrap框架動態(tài)生成Web頁面文章內(nèi)目錄的方法

    這篇文章主要介紹了Bootstrap框架動態(tài)生成Web頁面文章內(nèi)目錄的方法,利用Bootstrap中的Affix和ScrollSpy插件便可以實現(xiàn),需要的朋友可以參考下
    2016-05-05
  • IE瀏覽器下JS腳本提交表單后,不能自動提示問題解決方法

    IE瀏覽器下JS腳本提交表單后,不能自動提示問題解決方法

    這篇文章主要介紹了IE瀏覽器下JS腳本提交表單后,不能自動提示問題解決方法,涉及IE瀏覽器配置與javascript事件處理操作技巧,需要的朋友可以參考下
    2019-06-06
  • 在多個頁面使用同一個HTML片段的代碼

    在多個頁面使用同一個HTML片段的代碼

    有一個比較復雜的HTML片段(A),如果把這個HTML片段嵌入到其他頁面中(B,C,D....)。 問題的關鍵是在HTML片段中有大量的JavaScript邏輯需要處理,比如說分頁,點擊事件響應等。
    2011-03-03
  • 使用時間戳解決ie緩存的問題

    使用時間戳解決ie緩存的問題

    當編輯某條數(shù)據(jù)時,再回過頭來進行編輯,會發(fā)現(xiàn),里面的數(shù)據(jù)和沒有編輯以前是一樣的,這就是ie緩存的問題,下面是一個不錯的解決方法
    2014-08-08

最新評論