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

目的:计算字符串长度(英文占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){
    var len = 0;
    for (var i=0; i<str.length; i++) {
     var c = str.charCodeAt(i);
    //单字节加1
     if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f))    {
       len++;
     }
     else {
      len+=2;
     }
    }
    return len;
}

方法三:

var jmz = {};
jmz.GetLength = function(str) {
  ///<summary>获得字符串实际长度,中文2,英文1</summary>
  ///<param name="str">要获得长度的字符串</param>
  var realLength = 0, len = str.length, charCode = -1;
  for (var i = 0; i < len; i++) {
    charCode = str.charCodeAt(i);
    if (charCode >= 0 && charCode <= 128) realLength += 1;
    else realLength += 2;
  }
  return realLength;
};

方法四:

var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}

方法五:

把双字节的替换成两个单字节的然后再获得长度

getBLen = function(str) {
  if (str == null) return 0;
  if (typeof str != "string"){
    str += "";
  }
  return str.replace(/[^\x00-\xff]/g,"01").length;
}
时间: 2024-10-11 11:33:50

JS判断字符串长度(中文长度为2,英文长度为1)的相关文章

JS判断字符串长度

这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占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(

JS判断字符串长度的5个方法

主要介绍JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下目的:计算字符串长度(英文占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

JS 判断字串字节数,并截取长度

JS 判断字串字节数,并截取长度 var matchWords; function notifyTextLength() { var inputNum = document.getElementById("txtTitle").value.replace(/[^\x00-\xff]/g, "**").length; //得到输入的字节数 if (inputNum <= 200) { matchWords = document.getElementById(&q

js判断字符串是否全为空(使用trim函数/正则表达式)

我们需要判断用户输入的是否全是空格,可以使用以下方法: 方法一: 使用trim() /* 使用String.trim()函数,来判断字符串是否全为空*/ function kongge1(test) { let str = test.trim(); if (str.length == 0) { console.log('字符串全是空格'); } else { console.log('输入的字符串为:' + test); } } 如果 trim() 不存在,可以在所有代码前执行下面代码 /* 给

判断字符串是中文或者英文

import java.util.regex.Matcher; import java.util.regex.Pattern; /** * * <p> * ClassName ShowChineseInUnicodeBlock * </p> * <p> * Description 提供判断字符串是中文或者是英文的一种思路 * </p> * * @author wangxu [email protected] * <p> * Date 2014-9

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

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

js 判断字符串是否包含某字符串

js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf var test= "aa"; if(test.indexOf("a") > 0 ) { } indexOf用法: 返回 String 对象内第一次出现子字符串的字符位置. strObj.indexOf(subString[, startIndex]) 参数 strObj 必选项.String 对象或文字. subString 必选项.要在 String 对象中查找的子字符串. s

js判断字符串是否有下划线

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js判断字符串是否有下划线</title> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </head> <

JS判断数字、中文、小数位数

1.JS判断数字 ①var value=$("#test").val(); if(!isNaN(value)){ alert("是数字"); }else{ alert("不是数字"); } ②function checkRate(input) { var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/ var nubmer = document.getElement

php 判断字符串包含中文(转)

$str = "测试中文"; echo $str; echo "<hr>"; //if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用 //if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符