龙空技术网

JavaScript 原型扩展——字符串(String)

寒笛过霜天 48

前言:

此刻你们对“js判断字符串的字节长度”都比较关心,小伙伴们都想要分析一些“js判断字符串的字节长度”的相关资讯。那么小编同时在网摘上搜集了一些关于“js判断字符串的字节长度””的相关资讯,希望你们能喜欢,朋友们一起来学习一下吧!

1、在字符串末尾追加字符串

/** 在字符串末尾追加字符串 **/String.prototype.append = function (str) {return this.concat(str);}

2、删除指定索引位置的字符, 索引无效将不删除任何字符

/** 删除指定索引位置的字符,索引无效将不删除任何字符 **/String.prototype.deleteCharAt = function (index) {if (index < 0 || index >= this.length) {return this.valueOf();}else if (index == 0) {return this.substring(1, this.length);}else if (index == this.length - 1) {return this.substring(0, this.length - 1);}else {return this.substring(0, index) + this.substring(index + 1);}}

3、删除指定索引区间的字符串

/** 删除指定索引区间的字符串 **/String.prototype.deleteString = function (start, end) {if (start == end) {return this.deleteCharAt(start);}else {if (start > end) {var temp = start;start = end;end = temp;}if (start < 0) {start = 0;}if (end > this.length - 1) {end = this.length - 1;}return this.substring(0, start) + this.substring(end +1 , this.length);}}

4、检查字符串是否以subStr结尾

/** 检查字符串是否以subStr结尾 **/String.prototype.endWith = function (subStr) {if (subStr.length > this.length) {return false;}else {return (this.lastIndexOf(subStr) == (this.length - subStr.length)) ? true : false;}}

6、比较两个字符串是否相等

/** 比较两个字符串是否相等,也可以直接用 == 进行比较 **/String.prototype.equal = function (str) {if (this.length != str.length) {return false;}else {for (var i = 0; i < this.length; i++) {if (this.charAt(i) != str.charAt(i)) {return false;}}return true;}}

7、比较两个字符串是否相等,不区分大小写

/** 比较两个字符串是否相等,不区分大小写 **/String.prototype.equalIgnoreCase = function (str) {var temp1 = this.toLowerCase();var temp2 = str.toLowerCase();return temp1.equal(temp2);}

8、将指定的字符串插入到指定的位置后面

/** 将指定的字符串插入到指定的位置后面,索引无效将直接追加到字符串的末尾 **/String.prototype.insert = function (ofset, subStr) {if (ofset < 0 || ofset >= this.length - 1) {return this.append(subStr);}return this.substring(0, ofset + 1) + subStr + this.substring(ofset + 1);}

9、判断字符串是否数字串

/** 判断字符串是否数字串 **/String.prototype.isAllNumber = function () {for (var i = 0; i < this.length; i++) {if (this.charAt(i) < '0' || this.charAt(i) > '9') {return false;}}return true;}

10、将字符串反序排列

/** 将字符串反序排列 **/String.prototype.reserve = function () {var temp = "";for (var i = this.length - 1; i >= 0; i--) {temp = temp.concat(this.charAt(i));}return temp;}

11、将指定的位置的字符设置为另外指定的字符或字符串

/** 将指定的位置的字符设置为另外指定的字符或字符串.索引无效将直接返回不做任何处理 **/String.prototype.setCharAt = function (index, subStr) {if (index < 0 || index > this.length - 1) {return this.valueOf();}return this.substring(0, index) + subStr + this.substring(index+1);}

12、检查字符串是否以subStr开头

/** 检查字符串是否以subStr开头 **/String.prototype.startWith = function (subStr) {if (subStr.length > this.length) {return false;}return (this.indexOf(subStr) == 0) ? true : false;}

13、计算长度

/** 计算长度,每个汉字占两个长度,英文字符每个占一个长度 **/String.prototype.charLength = function () {var temp = 0;for (var i = 0; i < this.length; i++) {if (this.charCodeAt(i) > 255) {temp += 2;}else {temp += 1;}}return temp;}String.prototype.charLengthReg = function () {return this.replace(/[^\x00-\xff]/g, "**").length;}

14、去掉首尾空格

/** 去掉首尾空格 **/String.prototype.trim = function () {return this.replace(/(^\s*)|(\s*$)/g, "");}

15、测试是否是数字

/** 测试是否是数字 **/String.prototype.isNumeric = function () {var tmpFloat = parseFloat(this);if (isNaN(tmpFloat))return false;var tmpLen = this.length - tmpFloat.toString().length;return tmpFloat + "0".Repeat(tmpLen) == this;}

16、测试是否是整数

/** 测试是否是整数 **/String.prototype.isInt = function () {if (this == "NaN")return false;return this == parseInt(this).toString();}

17、获取N个相同的字符串

/** 获取N个相同的字符串 **/String.prototype.Repeat = function (num) {var tmpArr = [];for (var i = 0; i < num; i++) tmpArr.push(this);return tmpArr.join("");}

18、合并多个空白为一个空白

/** 合并多个空白为一个空白 **/String.prototype.resetBlank = function () {return this.replace(/s+/g, " ");}

19、除去左边空白

/** 除去左边空白 **/String.prototype.LTrim = function () {return this.replace(/^s+/g, "");}

20、除去右边空白

/** 除去右边空白 **/String.prototype.RTrim = function () {return this.replace(/s+$/g, "");}

21、除去两边空白

/** 除去两边空白 **/String.prototype.trim = function () {return this.replace(/(^s+)|(s+$)/g, "");}

22、保留数字

/** 保留数字 **/String.prototype.getNum = function () {return this.replace(/[^d]/g, "");}

23、保留字母

/** 保留字母 **/String.prototype.getEn = function () {return this.replace(/[^A-Za-z]/g, "");}

24、保留中文

/** 保留中文 **/String.prototype.getCn = function () {return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g, "");}

25、得到字节长度

/** 得到字节长度 **/String.prototype.getRealLength = function () {return this.replace(/[^x00-xff]/g, "--").length;}

26、从左截取指定长度的字串

/** 从左截取指定长度的字串 **/String.prototype.left = function (n) {return this.slice(0, n);}

27、从右截取指定长度的字串

/** 从右截取指定长度的字串 **/String.prototype.right = function (n) {return this.slice(this.length - n);}

28、删除首尾空格

/*** 删除首尾空格 ***/String.prototype.Trim = function() {return this.replace(/(^\s*)|(\s*$)/g, "");}

29、统计指定字符出现的次数

/*** 统计指定字符出现的次数 ***/String.prototype.Occurs = function(ch) {// var re = eval("/[^"+ch+"]/g");// return this.replace(re, "").length;return this.split(ch).length-1;}

30、检查是否由数字组成

/*** 检查是否由数字组成 ***/String.prototype.isDigit = function() {var s = this.Trim();return (s.replace(/\d/g, "").length == 0);}

31、检查是否由数字字母和下划线组成

/*** 检查是否由数字字母和下划线组成 ***/String.prototype.isAlpha = function() {return (this.replace(/\w/g, "").length == 0);}

32、检查是否为数

/*** 检查是否为数 ***/String.prototype.isNumber = function() {var s = this.Trim();return (s.search(/^[+-]?[0-9.]*$/) >= 0);}

33、返回字节数

/*** 返回字节数 ***/String.prototype.lenb = function() {return this.replace(/[^\x00-\xff]/g,"**").length;}

34、检查是否包含汉字

/*** 检查是否包含汉字 ***/String.prototype.isInChinese = function() {return (this.length != this.replace(/[^\x00-\xff]/g,"**").length);}

35、简单的email检查

/*** 简单的email检查 ***/String.prototype.isEmail = function() { var strr;var mail = this; var re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i; re.exec(mail); if(RegExp.$3!="" && RegExp.$3!="." && RegExp.$2!=".")strr = RegExp.$1+RegExp.$2+RegExp.$3; else  if(RegExp.$2!="" && RegExp.$2!=".")strr = RegExp.$1+RegExp.$2;  else strr = RegExp.$1; return (strr==mail);}

36、简单的日期检查,成功返回日期对象

/*** 简单的日期检查,成功返回日期对象 ***/String.prototype.isDate = function() {var p;var re1 = /(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/;var re2 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/;var re3 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/;if(re1.test(this)) {p = re1.exec(this);return new Date(p[1],p[2],p[3]);}if(re2.test(this)) {p = re2.exec(this);return new Date(p[3],p[1],p[2]);}if(re3.test(this)) {p = re3.exec(this);return new Date(p[3],p[1],p[2]);}return false;}

37、检查是否有列表中的字符字符

/*** 检查是否有列表中的字符字符 ***/String.prototype.isInList = function(list) {var re = eval("/["+list+"]/");return re.test(this);}

38、合并多个空白为一个空白

// 合并多个空白为一个空白String.prototype.ResetBlank = function() {var regEx = /\s+/g;return this.replace(regEx, ' ');};

39、String转化为Number

// String转化为NumberString.prototype.ToInt = function() {return isNaN(parseInt(this)) ? this.toString() : parseInt(this);};

40、得到字节长度

// 得到字节长度String.prototype.GetLen = function() {var regEx = /^[\u4e00-\u9fa5\uf900-\ufa2d]+$/;if (regEx.test(this)) {return this.length * 2;} else {var oMatches = this.match(/[\x00-\xff]/g);var oLength = this.length * 2 - oMatches.length;return oLength;}};

41、获取文件全名

// 获取文件全名String.prototype.GetFileName = function() {var regEx = /^.*\/([^\/\?]*).*$/;return this.replace(regEx, '$1');};

42、获取文件扩展名

// 获取文件扩展名String.prototype.GetExtensionName = function() {var regEx = /^.*\/[^\/]*(\.[^\.\?]*).*$/;return this.replace(regEx, '$1');};

43、格式化字符串

String.prototype.Format = function() {if (arguments.length == 0) {return '';}if (arguments.length == 1) {return arguments[0];}var reg = /{(\d+)?}/g;var args = arguments;var result = arguments[0].replace(reg, function($0, $1) {return args[parseInt($1) + 1];});return result;};

标签: #js判断字符串的字节长度 #js判断字符串的字节长度是多少 #html中截取字符串长度