String.prototype.replaceAll = function (targetStr, newStr) {  var sourceStr = this.valueOf();  while (sourceStr.indexOf(targetStr) !== -1) {    sourceStr = sourceStr.replace(targetStr, newStr);  }  return sourceStr;};…
看到一个这样子的面试题: 给String对象添加一个方法,传入一个string类型的参数,然后将string的每一个字符间加空格返回,例如:addSpace("hello world") //->'h e l l o w o r l d'. 第一眼看这道题目觉得出的很有问题, 既然给String中添加对象,调用方法应该是str.addSpace(),addSpace(str)是一个普通函数的调用方法吧! 请教了下别人,发现自己思维有点误区,直接就考虑到了给String原型添加对象…
1.题外话,有关概念理解:String.prototype 属性表示 String原型对象.所有 String 的实例都继承自 String.prototype. 任何String.prototype上的改变都会影响到所有的 String 实例. 2.上正文,js扩展String.prototype.format字符串拼接的功能,首先是基础功能的改造: String.prototype.format = function(){ if(arguments.length==0){ return th…
直接使用String类的replaceall方法的第一个参数并不是简单的字符串,而是一个正则表达式.在正则表达式中,英文点号(.)表示任意字符,所以你原先的写法会把所有字符都替换成空白. 转义使用所以,你需要用转义符来在正则表达式中表达普通的点号,写成\.,但是字符串中\本身就是转义符,所以还需要再写一个斜杠加在\之前,因此就写成了replaceAll("\\.",""). 基本用法 详细参考JDK API文档中String类的replaceAll方法说明,和jav…
String.prototype.format = function(args) { if (arguments.length>0) { var result = this; if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { var reg=new RegExp ("({"+key+"})","g&qu…
原文地址(包含所有的string对象的方法):  http://www.dreamdu.com/javascript/object_string/ string.slice(startPos,endPos)---返回被截取的字符串.注:此函数同样可以操作数组,原理相同. slice函数参数 startPos -- 返回字符串的开始位置(取负数是,从字符串的末尾开始计算.也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推.) endPos -- 可选参数,返回字符串的结束位置,如果无…
//---------------------对象 //1. var HomeContrl = function(){ this.foo = 'bar'; //对象方法 this.intro = function(){ alert(this.foo); } } //原型方法,扩展原来对象的方法 HomeContrl.prototype.printr = function() { alert(this.foo); } var obj = new HomeContrl(); var obj2 = n…
1.  stringObject.charAt(index) 参数:index 必需,即字符在字符串中的下标.  返回值:   返回在指定位置的字符.返回的字符是长度为 1的字符串.(length属性是字符串的长度) ============================================================================================ 2.  stringObject.concat(stringX,stringX,...,stri…
例如: var r = "{'msg':'你好'}" ; var map = eval("("+r+")"); //r为String类型的数据 var xx = map.msg; //此时 xx 的值为 你好…
js本来有replace方法,请看w3school的说明: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法: stringObject.replace(regexp/substr,replacement) 第一个参数为一个字符串或者一个正则表达式,第二个参数为一个字符串或者一个用于生成字符串的函数. 注意重点: 如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串.否则,它只替换第一个匹配子串. 实例:…
作者网址: https://my.oschina.net/shipley/blog/98973 背景:      前几天有人发了一个关于下面问题的贴,对这个有点好奇,故花时间做了点研究.        对单个反斜杠字符串替换成双斜杠的Java实现如下:    String s = "\\";    方法一:String sr1 = s.replaceAll("\\\\", "\\\\\\\\");    方法二:String sr1 = s.re…
这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { try { with (scope) { return eval(exp); } } catch (e) { console.error('ERROR', e); } } 要求在scope 作用域中执行,什么意思??? 比如 scope = {a:10,b:5}; exp = a*b; 要求计算结果…
这么牛的JS竟然还要自己封装trim方法. 下面利用prototype和正则表达式的添加方式添加trim(): <script language="javascript"> String.prototype.trim=function(){     return this.replace(/(^\s*)|(\s*$)/g, ""); } 或者利用下标和subString()方法.…
一.js中字符串的替换使用replace() 方法,但它只替换第一个匹配子串.如下例: <script type="text/javascript"> var sourceString = "我是被替换的字符串,是被替换的哦"; var replaceString = sourceString.replace("替换", "replace"); alert(replaceString); // 我是被replace…
2013-11-24 前言: 上周在工作中遇到了一些跟JS以及前台交互的问题,虽然算不上多么高深,但是在解决时也走了一些弯路,所以就总结一下. 1.    JS获取checkboxList所选的值 这个的应用场景是需要在前台获取checkboxList的所选的值,然后作为dataService的参数传递为后台的方法. 在aspx页的界面显示代码如下: <div> <label>请选择国家:</label> <asp:CheckBoxList ID="Cb…
提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大写,像JSON这种甚至都是大写,所以,大家判断的时候可以都转换成小写,以防出错 1.typeof(param) 返回param的类型(string) 这种方法是JS中的定义的全局方法,也是编译者们最常用的方法,优点就是使用简单.好记,缺点是不能很好的判断object.null.array.regexp和自定义对象. 示例代码: 复制代码代码如下: var…
JS字符串本身并不没有提供常用的trim方法,我们可以通过修改String原形来添加此方法,我们就可以直接调用此方法了: String.prototype.trim = function(){return this.replace(/(^\s*)|(\s*$)/g, '')} String.prototype.leftTrim = function(){return this.replace(/(^\s*)/g, '')} String.prototype.rigthTrim = functio…
为内置对象添加原型方法 我们能否为系统的对象的原型中添加方法, 相当于在改变源码   我希望字符串中有一个倒序字符串的方法 //我希望字符串中有一个倒序字符串的方法 String.prototype.myReverse = function () { for (var i = this.length - 1; i >= 0; i--) { console.log(this[i]); } }; var str = "abcdefg"; str.myReverse(); 为Array…
摘抄于:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace replace() 方法使用一个替换值(replacement)替换掉一个匹配模式(pattern)在原字符串中某些或所有的匹配项,并返回替换后的新的字符串.这个替换模式可以是一个字符串或者一个 RegExp,替换值可以是一个字符串或者一个函数. 语法 str.replace(regexp|subs…
这里面我们分析一下replace与replaceAll方法的差异以及原理. replace各个方法的定义 一.replaceFirst方法 public String replaceFirst(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceFirst(replacement); } 二.replace方法 public String replace(CharSequen…
代码:: 注意:原始的replace()方法只能替换第一个字符串check String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } var data = "check out,check in"; var li = data.replaceAll('check','checked');…
1.所有函数都有一个特别的属性 prototype : 显式原型属性 [普通构造函数的实例对象没有prototype 属性,构造函数有__proto__属性,原型对象有__proto__属性 ] 2.函数的prototype属性(图) 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象) [即Object实例对象 {}] 原型对象中有一个属性constructor, 它指向函数对象 [相互引用] 3.给原型对象添加属性(一般都是方法) 作用: 函数的所…
项目里面 需要对已手机号码进行 如下的显示 比如15088688388 要显示为150****8388的效果 实现这个简单的效果 方法有很多 我想试试用正则表达式去实现 查了点资料最终试出来以下方法可行 System.out.println("15088688388".replaceAll("(\\d{3})(\\d{4})","$1****")); 输出结果:150****8388 首先对replaceAll方法的第一个参数进行解释 第一个参数…
我们知道Array有个reverse方法,String则没有,但可以Array来实现,字符串有个split方法可以轻易的将String转换为Array. String.prototype.reverse = function () { return this.split('').reverse().join(''); } 当然还有更高逼格的写法. String.prototype.reverse = function(){ return Array.prototype.reverse.call(…
原生JS添加节点方法与JQuery添加节点方法的比较及总结   一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div1</div> <div id="div2">div2 <span id="span1">span1</span> <span id="span2">span2</span> &…
今天呢 知乎看到一道题 说是网易面试题,要求自己写一个trim()方法, 实现 var str = "   a   sd  "; 去掉字符串两端的空格. 直接上码 var str = " a sd "; function trim (st) { // 先把字符串分割成数组 var arr = st.split(""); // 从前面删除空格 for (let i = 0; i < arr.length; i++) { // 如果数组元素是空…
1 前言 JS函数可以再添加属性(包括方法),这个有点有趣,记录一下. 2 代码 <!DOCTYPE html> <html> <head> <title>Test canvs</title> <script type="text/javascript"> function gameLoop(){ console.log("%cI am red","background-color:r…
关于JS删除String里的字符的方法,一般使用replace()方法.但是这个方法只会删除一次,如果需要将string里的所以字符都删除就要用到正则. 1 2 3 4 var str = "abcdaabbssaaa"; var reg = new RegExp("a","g"); var a = str.replace(reg,""); console.log(a); 这里用 new RegExp()这个方法创建正则,第一…
本文的目的是让大家理解什么情况下把函数的方法写在JavaScript的构造函数上,什么时候把方法写在函数的 prototype 属性上;以及这样做的好处. 为了阅读方便,我们约定一下:把方法写在构造函数内的情况我们简称为 函数内方法 ,把方法写在 prototype 属性上的情况我们简称为 prototype上的方法 首先我们先了解一下这篇文章的重点: 函数内的方法:使用函数内的方法我们可以 访问到函数内部的私有变量 ,如果我们通过构造函数 new 出来的对象需要我们操作构造函数内部的私有变量的…
js动态给table添加/删除tr的方法. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JS动态为table添加与删除tr-www.jbxue.com-脚本学堂 </TITLE> <META NAME="Generator" CONTENT="EditPlus"…