JavaScript String 对象扩展方法
/** 在字符串末尾追加字符串 **/
String.prototype.append = function (str) {
return this.concat(str);
}
/** 删除指定索引位置的字符,索引无效将不删除任何字符 **/
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);
}
}
/** 删除指定索引区间的字符串 **/
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);
}
}
/** 检查字符串是否以subStr结尾 **/
String.prototype.endWith = function (subStr) {
if (subStr.length > this.length) {
return false;
}
else {
return (this.lastIndexOf(subStr) == (this.length - subStr.length)) ? true : false;
}
}
/** 比较两个字符串是否相等,也可以直接用 == 进行比较 **/
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;
}
}
/** 比较两个字符串是否相等,不区分大小写 **/
String.prototype.equalIgnoreCase = function (str) {
var temp1 = this.toLowerCase();
var temp2 = str.toLowerCase();
return temp1.equal(temp2);
}
/** 将指定的字符串插入到指定的位置后面,索引无效将直接追加到字符串的末尾 **/
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);
}
/** 判断字符串是否数字串 **/
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;
}
/** 将字符串反序排列 **/
String.prototype.reserve = function () {
var temp = "";
for (var i = this.length - 1; i >= 0; i--) {
temp = temp.concat(this.charAt(i));
}
return temp;
}
/** 将指定的位置的字符设置为另外指定的字符或字符串.索引无效将直接返回不做任何处理 **/
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);
}
/** 检查字符串是否以subStr开头 **/
String.prototype.startWith = function (subStr) {
if (subStr.length > this.length) {
return false;
}
return (this.indexOf(subStr) == 0) ? true : false;
}
/** 计算长度,每个汉字占两个长度,英文字符每个占一个长度 **/
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;
}
/** 去掉首尾空格 **/
String.prototype.trim = function () {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
/** 测试是否是数字 **/
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;
}
/** 测试是否是整数 **/
String.prototype.isInt = function () {
if (this == "NaN")
return false;
return this == parseInt(this).toString();
}
/** 获取N个相同的字符串 **/
String.prototype.Repeat = function (num) {
var tmpArr = [];
for (var i = 0; i < num; i++) tmpArr.push(this);
return tmpArr.join("");
}
/** 合并多个空白为一个空白 **/
String.prototype.resetBlank = function () {
return this.replace(/s+/g, " ");
}
/** 除去左边空白 **/
String.prototype.LTrim = function () {
return this.replace(/^s+/g, "");
}
/** 除去右边空白 **/
String.prototype.RTrim = function () {
return this.replace(/s+$/g, "");
}
/** 除去两边空白 **/
String.prototype.trim = function () {
return this.replace(/(^s+)|(s+$)/g, "");
}
/** 保留数字 **/
String.prototype.getNum = function () {
return this.replace(/[^d]/g, "");
}
/** 保留字母 **/
String.prototype.getEn = function () {
return this.replace(/[^A-Za-z]/g, "");
}
/** 保留中文 **/
String.prototype.getCn = function () {
return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g, "");
}
/** 得到字节长度 **/
String.prototype.getRealLength = function () {
return this.replace(/[^x00-xff]/g, "--").length;
}
/** 从左截取指定长度的字串 **/
String.prototype.left = function (n) {
return this.slice(0, n);
}
/** 从右截取指定长度的字串 **/
String.prototype.right = function (n) {
return this.slice(this.length - n);
}
JavaScript String 对象扩展方法的更多相关文章
- JavaScript Array 对象扩展方法
/** 删除数组中指定索引的数据 **/ Array.prototype.deleteAt = function (index) { if (index < 0) { return this; ...
- ES6新增语法和内置对象(let,const, Array/String/Set 扩展方法(解构赋值,箭头函数,剩余参数))
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量 ...
- JavaScript -- 时光流逝(三):js中的 String 对象的方法
JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...
- JavaScript 字符串(String)对象的方法
anchor() 描述:用于创建 HTML 锚 原型:stringObject.anchor(anchorname) 用法: <script> var txt="Hello wo ...
- JavaScript常用对象的方法和属性
---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...
- JavaScript String 对象
JavaScript String 对象 String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法 var txt = new S ...
- JavaScript String 对象常用方法
<script type="text/javascript"> //concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. var str = &q ...
- jQuery对象扩展方法(Extend)深度解析
1.这几天在写自己的Js工具类库,所以在编写对象扩展方法,参考了jQuery的对象扩展方法,在编写该方法前,需要掌握js深拷贝和浅拷贝的相关知识,下面是jQuery3.2.1版本对象扩展方法的源码: ...
- 浏览器端-W3School-JavaScript:JavaScript String 对象
ylbtech-浏览器端-W3School-JavaScript:JavaScript String 对象 1.返回顶部 1. JavaScript String 对象 String 对象 Strin ...
随机推荐
- What is the largest TCP/IP network port number allowable for IPv4
69 down vote The largest port number is an unsigned short 2^16-1: 65535 A registered port is one ass ...
- UIProgressView 详解
自定义progressView 包括背景图片和进度条的图片以及进度条的高度. //进度条 UIProgressView *aProgressView = [[UIProgressView allo ...
- 某个 页面覆盖了 UITabBar 的tabItem的解决办法
将这个页面的背景色设置为无色: [self.view setBackgroundColor:[UIColor clearColor]]; 或者 self.view.frame = CGRectMake ...
- C#编程(七十四)----------释放非托管资源
释放非托管资源 在介绍释放非托管资源的时候,我觉得有必要先来认识一下啥叫非托管资源,既然有非托管资源,肯定有托管资源. 托管资源指的是.net可以自棕进行回收的资源,主要是指托管堆上分配的内存资源.托 ...
- java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.w ...
- Loader的初步学习笔记
Loader是一个异步加载数据的类,它和AsyncTask有类似也有不同,今天我们就先来学习下它.由于是对比学习,所以我们先来复习下AsyncTask的使用和特点. 一.AsyncTask 参考自:h ...
- .NetCore中EFCore for MySql整理
一.MySql官方提供了Ef Core对MySql的支持,但现在还处于预览版 Install-Package MySql.Data.EntityFrameworkCore -Pre Install-P ...
- Linux 批量查找替换方法(VIM和sed)
版权声明:欢迎与我交流讨论,若要转载请注明出处~ https://blog.csdn.net/sinat_36053757/article/details/70946263 1.VIM命令 当前行进行 ...
- 【FTP资源】发现一个ArcGIS相关的FTP。
用谷歌 在搜索 ArcGISEngineRT的时候,发现了一个站点: ftp://ftp.geobc.gov.bc.ca/pub/outgoing/GeoBC_software_distributio ...
- 混沌分形之朱利亚集(JuliaSet)
朱利亚集合是一个在复平面上形成分形的点的集合.以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名.我想任何一个有关分形的资料都不会放过曼德勃罗集和朱利亚集.这里将以点集的方式生成出朱利亚 ...