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

javascript中使用正則計(jì)算中文長(zhǎng)度的例子

 更新時(shí)間:2014年04月29日 10:42:41   作者:  
這篇文章主要介紹了javascript中使用正則計(jì)算中文長(zhǎng)度的例子,需要的朋友可以參考下

由于javascript是unicode編碼的,所有的字符對(duì)于它來(lái)說(shuō)一個(gè)就是一個(gè),但是后臺(tái)程序不是,通常在后臺(tái)程序中一個(gè)中文是占兩個(gè)字節(jié)的,這就導(dǎo)致了前后端校驗(yàn)長(zhǎng)度不一致,這個(gè)問(wèn)題可以通過(guò)正則來(lái)解決。

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

function getRealLen( str ) {
    return str.replace(/[^\x00-\xff]/g, '__').length; //這個(gè)把所有雙字節(jié)的都給匹配進(jìn)去了
}

附贈(zèng)另一小則技巧:

有時(shí)候?yàn)榱嗣烙^,不影響布局和界面,會(huì)以一些文案進(jìn)行截字,但是中文的寬度和英文的寬度不一樣,如果按照英文標(biāo)準(zhǔn)來(lái)截中文的,或者按中文標(biāo)準(zhǔn)截英文的,顯然會(huì)忽長(zhǎng)忽短,特別是昵稱這類容易既有中文又有英文的東西,同樣我們可以用上面的思路

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

function beautySub( str, len) {
       var reg = /[\u4e00-\u9fa5]/g,    //專業(yè)匹配中文
           slice = str.substring(0,len),
           realen = len - ( ~~( slice.match(reg) && slice.match(reg).length ) );
           return slice.substring(0, realen ? realen : 1);
}

這里我們認(rèn)為一個(gè)中文字符是兩個(gè)英文字符的寬度,如果你是完美主義者,應(yīng)該想到j(luò)和w,m的寬度是不一樣的,w和m以及大寫的部分字母和中文的寬度是一致的,這個(gè)函數(shù)的正則還有相當(dāng)大的改進(jìn)空間,同時(shí)也可以指定截字的起始位置。

相關(guān)文章

  • JavaScript中的對(duì)象和原型(一)

    JavaScript中的對(duì)象和原型(一)

    大家都知道在js中沒(méi)有類的概念,因此它的對(duì)象也與基于類的語(yǔ)言中的對(duì)象有所不同。所以大家要了解面向?qū)ο?,首先要了解js中的對(duì)象和原型,下面本文給大家介紹JavaScript中的對(duì)象和原型(一)知識(shí),一起看下吧
    2016-08-08
  • js常用的繼承--組合式繼承

    js常用的繼承--組合式繼承

    本篇文章主要介紹了js常用的繼承--組合式繼承的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • javascript鼠標(biāo)滑過(guò)顯示二級(jí)菜單特效

    javascript鼠標(biāo)滑過(guò)顯示二級(jí)菜單特效

    這篇文章主要為大家詳細(xì)介紹了javascript鼠標(biāo)滑過(guò)顯示二級(jí)菜單特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • javascript顯式類型轉(zhuǎn)換實(shí)例分析

    javascript顯式類型轉(zhuǎn)換實(shí)例分析

    這篇文章主要介紹了javascript顯式類型轉(zhuǎn)換,實(shí)例分析了javascript實(shí)現(xiàn)類型轉(zhuǎn)換的常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 微信小程序switch組件使用詳解

    微信小程序switch組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了微信小程序switch組件的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • JavaScript實(shí)現(xiàn)點(diǎn)擊單元格改變背景色的方法

    JavaScript實(shí)現(xiàn)點(diǎn)擊單元格改變背景色的方法

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊單元格改變背景色的方法,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素屬性的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • AngularJS+Bootstrap實(shí)現(xiàn)多文件上傳與管理

    AngularJS+Bootstrap實(shí)現(xiàn)多文件上傳與管理

    這篇文章主要為大家詳細(xì)介紹了AngularJS+Bootstrap實(shí)現(xiàn)多文件上傳與管理,對(duì)上傳文件進(jìn)行加載與刪除操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 深入理解JavaScript中的宏任務(wù)和微任務(wù)機(jī)制

    深入理解JavaScript中的宏任務(wù)和微任務(wù)機(jī)制

    JavaScript中的任務(wù)分為宏任務(wù)和微任務(wù),它們的執(zhí)行順序會(huì)影響代碼的執(zhí)行結(jié)果。了解它們的機(jī)制可以幫助我們更好地理解事件循環(huán)和異步編程,避免出現(xiàn)一些意想不到的錯(cuò)誤
    2023-05-05
  • bootstrap 彈出框modal添加垂直方向滾軸效果

    bootstrap 彈出框modal添加垂直方向滾軸效果

    這篇文章主要介紹了bootstrap 彈出框modal添加垂直方向滾軸效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • JavaScript 幾種循環(huán)方式以及模塊化的總結(jié)

    JavaScript 幾種循環(huán)方式以及模塊化的總結(jié)

    這篇文章主要介紹了JavaScript 幾種循環(huán)方式以及模塊化的的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下
    2020-09-09

最新評(píng)論