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 相关文章推荐
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
简单谈谈javascript代码复用模式
Jan 28 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 Javascript
JavaScript常用数组算法小结
Feb 13 Javascript
一些实用性较高的js方法
Apr 19 Javascript
基于Bootstrap分页的实例讲解(必看篇)
Jul 04 Javascript
Vue组件化开发思考
Feb 02 Javascript
vue脚手架搭建项目的兼容性配置详解
Jul 17 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
Aug 23 Javascript
JS实现横向轮播图(中级版)
Jan 18 Javascript
实例分析javascript中的异步
Jun 02 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 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
在字符串中把网址改成超级链接
2006/10/09 PHP
深入apache host的配置详解
2013/06/09 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
vue实现搜索功能
2019/05/28 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
Python实现简单状态框架的方法
2015/03/19 Python
Python中的异常处理简明介绍
2015/04/13 Python
Python根据成绩分析系统浅析
2019/02/11 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
Python全栈之列表数据类型详解
2019/10/01 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Python截图并保存的具体实例
2021/01/14 Python
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
献爱心活动总结
2014/05/07 职场文书
希特勒的演讲稿
2014/05/23 职场文书
数学教育专业求职信
2014/07/22 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
抢劫罪辩护词
2015/05/21 职场文书
致运动员赞词
2015/07/22 职场文书