javascript模拟实现C# String.format函数功能代码


Posted in Javascript onNovember 25, 2013

C# string.format这个功能用到的地方比较多, 所以就用js实现了一个简单的版本 :

String.format = function ()
        {
            var formatStr = arguments[0];
            if ( typeof formatStr === 'string' )
            {
                var pattern,
                    length = arguments.length;
                for ( var i = 1; i < length; i++ )
                {
                    pattern = new RegExp( '\\{' + ( i - 1 ) + '\\}', 'g' );
                    formatStr = formatStr.replace( pattern, arguments[i] );
                }
            } else
            {
                formatStr = '';
            }
            return formatStr;
        };

以上代码给javascript String类加了一个静态方法 format, 然后其用法就和c#的 string.format一模一样了, 测试如下:

String.format('http://wcf.open.a.com/blog/sitehome/paged/{0}/{1}',1,20)
输出: "http://wcf.open.a.com/blog/sitehome/paged/1/20"
String.format('{0}+{0}+{1}={2}',1,2,1+1+2)
输出: "1+1+2=4"
String.format({name:'leonwang'},'hello,world')
输出: ""

如果第一个参数不是string类型, 就简单返回空string, 不做进一步处理。

Javascript 相关文章推荐
Prototype中dom对象方法汇总
Sep 17 Javascript
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
jquery 删除字符串最后一个字符的方法解析
Feb 11 Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 Javascript
js滚动条平滑移动示例代码
Mar 29 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
Dec 25 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
JavaScript简单计算人的年龄示例
Apr 15 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
Dec 14 Javascript
微信小程序常用赋值方法小结
Apr 30 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 Javascript
js给onclick赋值传参数的两种方法
Nov 25 #Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 #Javascript
写JQuery插件的基本知识
Nov 25 #Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 #Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 #Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 #Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 #Javascript
You might like
用PHP调用Oracle存储过程
2006/10/09 PHP
html中select语句读取mysql表中内容
2006/10/09 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
nodejs用gulp管理前端文件方法
2018/06/24 NodeJs
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
采购主管的岗位职责
2013/12/17 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
公司离职证明范本
2014/01/13 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
环境卫生整治简报
2015/07/20 职场文书
优秀创业计划书分享
2019/07/19 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python