hi,大家好
今天跟小伙伴們淺談以下如何用正則表示中文以及如何去運用。眾所周知中文在計算機中是不能進行存儲的。那我們是以什么辦法讓我們和計算機進行更好的溝通呢?
常用的幾種中文編碼格式
utf-8編碼
utf-8又稱“萬國碼”,可以同屏顯示多語種,一個漢字通常占用3字節(生僻字占6個)。
gb2312編碼
簡體中文編碼,一個漢字占用2個字節,不支持繁體字
gbk編碼
是GB2312的擴展,一個漢字占用2個字節,支持繁體字。
那在正則表達式中,我們又是怎么來匹配中文的呢?
表示漢字的正則: [\u4e00-\u9fa5]
表示至少一個漢字的正則表達式:^[\u4e00-\u9fa5]
只含有漢字、數字、字母、下划線,下划線位置不限:^[a-zA-Z0-9_\u4e00-\u9fa5]+$
我們常用的大概就這幾種形式,下面通過連個例子讓我們學會怎么去應用正則表示中文。
例一
匹配一個字符串是純中文組成的字符串**
var box = /^[\u4e00-\u9fa5]+$/;
alert(box.test("武漢加油"));//返回 true
例二
編寫一個方法求一個字符串的字節長度,假設:一個英文字符占用一個字節,一個中文字符占用兩個字節。
```javascript
function strLength(str){ //判斷中文,中文要單獨進行計數 var count = 0; //設置一個判斷中文正則 var box = /^[\u4e00-\u9fa5]$/; for(var i = 0; i < str.length; i++){ if(box.test(str[i])){ count++; } } return str.length + count; } alert(strLength("中國加油cn"));//返回值是10
以上就是用正則表示中文的兩個案例
看了上述案例希望對你了解如何用正則表達中文有所幫助
點關注不迷路 大家一起共進步~
“哪里會有人喜歡孤獨, 不過是不喜歡失望罷了。 ——村上春樹《挪威的森林》