//String.prototype使用 //批量替换,比如:str.ReplaceAll([/a/g,/b/g,/c/g],["aaa","bbb","ccc"]) String.prototype.ReplaceAll=function (A,B) { var C=this; for(var i=0;i<A.length;i++) { C=C.replace(A[i],B[i]); }; return C; }; // 去掉字符两端的空白字符 String.prototype.Trim=function () { return this.replace(/(^[/t/n/r]*)|([/t/n/r]*$)/g,''); }; // 去掉字符左边的空白字符 String.prototype.LTrim=function () { return this.replace(/^[/t/n/r]/g,''); }; // 去掉字符右边的空白字符 String.prototype.RTrim=function () { return this.replace(/[/t/n/r]*$/g,''); }; // 返回字符的长度,一个中文算2个 String.prototype.ChineseLength=function() { return this.replace(/[^/x00-/xff]/g,"**").length; }; // 判断字符串是否以指定的字符串结束 String.prototype.EndsWith=function (A,B) { var C=this.length; var D=A.length; if(D>C)return false; if(B) { var E=new RegExp(A+'$','i'); return E.test(this); }else return (D==0||this.substr(C-D,D)==A); }; // 判断字符串是否以指定的字符串开始 String.prototype.StartsWith = function(str) { return this.substr(0, str.length) == str; }; // 字符串从哪开始多长字符去掉 String.prototype.Remove=function (A,B) { var s=''; if(A>0)s=this.substring(0,A); if(A+B<this.length)s+=this.substring(A+B,this.length); return s; };
自定义string类型的方法:
<mce:script language=javascript><!-- //全角空格为12288,半角空格为32 //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //document.write((65281).toString(16)+"----"+ //(65374).toString(16)+"----"+(12288).toString(16)); String.prototype.dbc2sbc = function () { return this.replace(/[/uff01-/uff5e]/g, function(a){ return String.fromCharCode(a.charCodeAt(0)-65248); }).replace(//u3000/g," "); } document.write("ABC 123,我们都是好朋友".dbc2sbc()); // --></mce:script>
这里说明下这个代码
this.replace(/[/uff00-/uff5e]/g),......先看这一半 其实是把全角在65281-65374之间的换为半角
之后的函数是function返回的字符
在其中的函数也把空格符 也就是全角的空格是/u3000 换成空格
相关推荐
[bool]hook:params{ realFunc[String|must]:用于保存原始函数的函数...String.prototype.slice.unhook("_slice","slice",String.prototype); var str = "pnig0s"; str.slice(1); myHooks.cleanEnv(); //clear hooks
Array.prototype.lastIndexOf 和 String.prototype.lastIndexOf 是非常的实用的方法,不过很多人不知道它其实可以传递两个参数,第二个参数决定了搜索的起始位置: 语法 str.lastIndexOf(searchValue[, fromIndex]...
String.prototype.startsWith = function (search, pos) { return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search } } 不过加prototype的方法毕竟不好,可以通过引入@babel/pol
方法一: 正则替换 推荐个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 下面是代码原文 代码如下: [removed] <!– //出处:网上搜集 //For ... } String.prototype.LTrim = function() { return this.repl
prototype属性可以将属性和方法添加到任何对象(Number, Boolean, String 和Date等)。 注:原型(Prototype)是一个全局的属性,它可以使用在几乎所有的对象。 语法 object.prototype.name = value 实例: 这里有一个...
return Object.prototype.toString.call(o).slice(8, -1) === 'String' } isNumber (o) { //是否数字 return Object.prototype.toString.call(o).slice(8, -1) === 'Number' } isObj (o) { //是否对象 return ...
if (typeof Array.prototype.forEach != "function") { Array.prototype.forEach = function (fn, context) { for (var i = 0; i < this.length; i++) { if (typeof fn === "function" && Object.pr
用法和$.Callbacks完全一致 , 但是只是实现了add , remove , fire , empty, ... 代码如下: String.prototype.trim = function () { return this.replace( /^\s+|\s+$/g, ” ); }; // Simulate jQuery.Callbacks
前言 在网页上展示列表时经常需要对列表进行排序:按照修改/访问时间排序、按照地区、按照名称排序。 对于中文列表按照名称排序就是按照拼音排序,不能简单通过字符串比较—— ‘a’ > ‘b’...String.prototype.locale
5种基本数据类型:Null/Undefined/String/Boolean/Number 1种复杂数据类型:Object 二、数据类型检测 传送门《JS中检测数据类型的几种方式及优缺点小结》 1、typeof 2、instanceof/constructor 3、Object.prototype....
expect和should是BDD风格的,二者使用相同的链式语言来组织断言,但不同在于他们初始化断言的方式:expect使用构造函数来创建断言对象实例,而should通过为Object.prototype新增方法来实现断言(所以should不支持IE...
Object.prototype.toString.call(arg) 和 String(arg) 的区别? 上述两个表达式都是尝试将一个参数转化为字符串,但是还是有区别的。 String(arg) 会尝试调用 arg.toString() 或者 arg.valueOf(), 所以如果arg或者...
ToString负责处理非字符串到字符串的强制类型转换,常用的字符串化方法String()、toString()。 基本类型值的字符串化规则: null转换为’null’ undefined转换为’undefined’ true转化为’true’ 数字的字符串...
vue 挂载到dom 元素后发生了什么 前一篇文章分析了new vue() 初始化时所执行的操作,主要包括调用vue._init 执行一系列的初始化,...Vue.prototype.$mount = function ( el?: string | Element, hydrating?: boolean
一、判断 语法 prop in objectName 如果objectName指向的对象中含有prop这个属性或者键值,in运算符会返回true。...//true 原型链 in运算符会在整个原型链上查询给定的prop属性 代码如下: Object.prototype.s
8.5.1 使用prototype属性为对象添加属性 8.5.2 原型查找链 8.5.3 使用原型为对象添加方法 8.5.4 所有对象都有的属性和方法 8.5.5 创建子类及继承 8.6 应知应会 练习 第9章 ...
ASP.NET2.0 ObjectDataSource的使用详解(3) ASP.NET2.0 快速入门 ----默认中的主题外观 数据库开发 ADO.NET 通过DataTable获得表的主键 ADO.NET 2.0 操作实例 ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO...