javascript中使用正則計算中文長度的例子
更新時間:2014年04月29日 10:42:41 作者:
這篇文章主要介紹了javascript中使用正則計算中文長度的例子,需要的朋友可以參考下
由于javascript是unicode編碼的,所有的字符對于它來說一個就是一個,但是后臺程序不是,通常在后臺程序中一個中文是占兩個字節(jié)的,這就導致了前后端校驗長度不一致,這個問題可以通過正則來解決。
復制代碼 代碼如下:
function getRealLen( str ) {
return str.replace(/[^\x00-\xff]/g, '__').length; //這個把所有雙字節(jié)的都給匹配進去了
}
附贈另一小則技巧:
有時候為了美觀,不影響布局和界面,會以一些文案進行截字,但是中文的寬度和英文的寬度不一樣,如果按照英文標準來截中文的,或者按中文標準截英文的,顯然會忽長忽短,特別是昵稱這類容易既有中文又有英文的東西,同樣我們可以用上面的思路
復制代碼 代碼如下:
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);
}
這里我們認為一個中文字符是兩個英文字符的寬度,如果你是完美主義者,應該想到j和w,m的寬度是不一樣的,w和m以及大寫的部分字母和中文的寬度是一致的,這個函數(shù)的正則還有相當大的改進空間,同時也可以指定截字的起始位置。
您可能感興趣的文章:
- php正則表達匹配中文問題分析小結
- PHP 正則表達式驗證中文的問題
- PHP把空格、換行符、中文逗號等替換成英文逗號的正則表達式
- php+正則將字符串中的字母數(shù)字和中文分割
- PHP 正則判斷中文UTF-8或GBK的思路及具體實現(xiàn)
- 正確的PHP匹配UTF-8中文的正則表達式
- javascript判斷中文的正則
- 中文用戶名的js檢驗正則
- js中判斷數(shù)字\字母\中文的正則表達式 (實例)
- js實現(xiàn)正則匹配中文標點符號的方法
- JavaScript正則表達式驗證中文實例講解
- JavaScript控制輸入框中只能輸入中文、數(shù)字和英文的方法【基于正則實現(xiàn)】
- php與javascript正則匹配中文的方法分析
相關文章
JavaScript實現(xiàn)點擊單元格改變背景色的方法
這篇文章主要介紹了JavaScript實現(xiàn)點擊單元格改變背景色的方法,涉及JavaScript響應鼠標事件動態(tài)操作頁面元素屬性的相關技巧,需要的朋友可以參考下2016-02-02AngularJS+Bootstrap實現(xiàn)多文件上傳與管理
這篇文章主要為大家詳細介紹了AngularJS+Bootstrap實現(xiàn)多文件上傳與管理,對上傳文件進行加載與刪除操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11JavaScript 幾種循環(huán)方式以及模塊化的總結
這篇文章主要介紹了JavaScript 幾種循環(huán)方式以及模塊化的的相關資料,幫助大家更好的理解和學習JavaScript,感興趣的朋友可以了解下2020-09-09