欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在javascript中如何得到中英文混合字符串的長(zhǎng)度

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

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

用的是正則表達(dá)式。

復(fù)制代碼 代碼如下:

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

我查了一下書,有點(diǎn)明白了:

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

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

    微信小程序按鈕點(diǎn)擊動(dòng)畫效果的實(shí)現(xiàn)

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

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

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

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

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

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

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

    IE瀏覽器下JS腳本提交表單后,不能自動(dòng)提示問(wèn)題解決方法

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

    在多個(gè)頁(yè)面使用同一個(gè)HTML片段的代碼

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

    使用時(shí)間戳解決ie緩存的問(wèn)題

    當(dāng)編輯某條數(shù)據(jù)時(shí),再回過(guò)頭來(lái)進(jìn)行編輯,會(huì)發(fā)現(xiàn),里面的數(shù)據(jù)和沒(méi)有編輯以前是一樣的,這就是ie緩存的問(wèn)題,下面是一個(gè)不錯(cuò)的解決方法
    2014-08-08

最新評(píng)論