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
以上就是用正则表示中文的两个案例
看了上述案例希望对你了解如何用正则表达中文有所帮助
点关注不迷路 大家一起共进步~
“哪里会有人喜欢孤独, 不过是不喜欢失望罢了。 ——村上春树《挪威的森林》