• 关于 js 的replace函数


    参考资料:http://www.cnblogs.com/whitewolf/archive/2013/03/14/2958720.html

    看了破狼大大的这篇文章,感觉对replace也是有了新的认识。

    主要是碰到这么一个编程问题,然后看到别人神奇的replace用法,就到处查了一下了解。

    题目

    获取 url 中的参数

    1. 指定参数名称,返回该参数的值 或者 空字符串
    2. 不指定参数名称,返回全部的参数对象 或者 {}
    3. 如果存在多个同名参数,则返回数组

    见到的写法(自己稍微改了一点点。。

    function getUrlParam(sUrl, sKey) {
    	var result = {};
    	sUrl.replace(/??(w+)=(w+)&?/g, function(a, k, v) {
    		// console.log(a, k, v, b, c, d);
    		if(result[k]){
    			result[k] = [].concat(result[k], v);
    		} else {
    			result[k] = v;
    		}
    	});
        if(!sKey){
            return result; 
        }else{
            return result[sKey] || '';
        }
    }
    

    下面copy参考文章中的一些总结:

    第二个参数为字符串的时候:

    对于正则replace约定了一个特殊标记符$
    1. $i (i:1-99) : 表示从左到右正则子表达式所匹配的文本。
    2. $& : 表示与正则表达式匹配的全文本。
    3. $` (`:切换技能键):表示匹配字符串的左边文本。
    4. $’ (‘:单引号):表示匹配字符串的右边文本。
    5. $$ :表示$转移。

    第二个参数为函数:

    在ECMAScript3推荐使用函数方式,实现于JavaScript1.2.当replace方法执行的时候每次都会调用该函数,返回值作为替换的新值。
    函数参数的规定
    1. 第一个参数为每次匹配的全文本($&)。
    2. 中间参数为子表达式匹配字符串,个数不限.( $i (i:1-99))
    3. 倒数第二个参数为匹配文本字符串的匹配下标位置。
    4. 最后一个参数表示字符串本身。
  • 相关阅读:
    常用的npm指令总结
    Mongoose基础
    2016总结与展望
    sleep与wait的区别
    查询平均分大于80分的学生
    求最大不重复子串
    快速排序
    按位与(&)运算的作用
    异或运算的作用
    java 字符串中的每个单词的倒序输出
  • 原文地址:https://www.cnblogs.com/xfh0192/p/7653104.html
Copyright © 2020-2023  润新知