js正则中文

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

 

以上就是用正则表示中文的两个案例

看了上述案例希望对你了解如何用正则表达中文有所帮助

点关注不迷路 大家一起共进步~

 “哪里会有人喜欢孤独, 不过是不喜欢失望罢了。 ——村上春树《挪威的森林》

posted @ 2020-02-24 17:02  秋唯  阅读(5936)  评论(0编辑  收藏  举报