js判断字符串中的英文和汉字

有时需要判断一个字符是不是汉字,比如在用户输入含有中英文的内容时,需要判断是否超过规定长度就要用到。用 Javascript 判断通常有两种方法。

方法一

正则表达式,test()方法返回true 或 false。

function checkCh(str){
    var RegExp = new RegExp(‘[\\u4E00-\\u9FFF]‘,‘g‘);
    return RegExp.test(str);
}

方法二

通过检测字符的unicode编码,编码大于255的即为汉字,下面函数检测字符串所占的字符数。

/** 汉字占两个字符,英文字母扎一个字符。*/function checkCh(str){
    var len = 0;
    for(var i = 0; i < str.length; i++){
         if(str.charCodeAt(i) > 255){
            len += 2;
        }else{
            len++;
        }
    }
}    
时间: 2024-11-10 13:47:00

js判断字符串中的英文和汉字的相关文章

用js识别字符串中的英文字母字符和非字符(汉字)

前不久去阿里的在线笔试,最后一道题可算是难倒了我,题目大概是这样的:用原生的js实现字符串中的英文字母字符和汉字的识别,汉字按照两个单位计算,英文和字符按照一个单位计算,乍一想真不知道有什么好办法,以前写c代码太多,就用c代码对ascii的办法来,笔试结束字符才知道,js是很高大上的玩意儿,这招行不通.在这里我介绍一种很简单很靠谱的方法,用unicode字符集的办法来解决. 首先脑补一下小知识:unicode字符集数字0 - 128是英文字母字符(半角)的范畴,在这以外是其他字符(全角),用js

JS判断字符串中,某个字符出现的次数

/**   * JS判断字符串中,某个字符出现的次数   */     var str ="abc#def#hig";     var len =str.split("#").length-1     alert(len);

JS判断字符串中是否存在某个字符

用String类中的indexOf函数,例如:String str="we find out sth";if(str.indexOf("o")==-1){ //等于-1表示这个字符串中没有o这个字符//do something}else{//do something}

js 判断字符串中是否包含某个字符串(转载)

from : https://www.cnblogs.com/ooo0/p/7741651.html String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") != -1 ); // true indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则该方法返回 -1. 方法二: search() var str =

JS判断字符串长度(英文占1个字符,中文汉字占2个字符)

//计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { len += 2; } else { len ++; } } return len; } 方法二: function strlen(str){

iOS判断字符串中含不含有汉字

方法一: - (BOOL)hasChinese:(NSString *)str { for(int i=0; i< [str length];i++){ int a = [str characterAtIndex:i]; if( a > 0x4e00 && a < 0x9fff) { return YES; } } return NO; } 方法二: - (BOOL)isHasChineseWithStr:(NSString *)strFrom { for (int i=

js 判断字符串中是否有某字符串

<script> var test=['<div class="cur"></div>','<div class="cur"></div>']; if(test[0].indexOf('class="cur"')>-1){ console.log(1) }</script> 如果没有找到 indexOf则会返回-1 所有大于-1就好

Node.js之判断字符串中是否包含某个字符串

server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境,直接可通过node test.js运行看效果): var fs = require("fs"); var result = fs.readFileSync("./server.txt"); console.log("result:"+result)

[转]PHP判断字符串是纯英文、纯汉字或汉英混合(GBK)

PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128 外还有一种比较特别的方法. 使用php中的mb_strlen和strlen函数判断 方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值.返回值相等的为纯英文.纯数字.英数混排:返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排 看一下以下的例子: Php代码   <?php $