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 相关文章推荐
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
node.js中的fs.ftruncate方法使用说明
Dec 15 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
JavaScript头像上传插件源码分享
Mar 29 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
微信小程序自定义对话框弹出和隐藏动画
Jul 19 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
javascript json字符串到json对象转义问题
Jan 22 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
May 16 Javascript
jQuery实现聊天对话框
Feb 08 jQuery
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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
javascript正则表达式总结
2016/02/29 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
jquery replace方法去空格
2017/05/08 jQuery
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
numpy 计算两个数组重复程度的方法
2018/11/07 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
上海中网科技笔试题
2012/02/19 面试题
学生实习推荐信范文
2013/11/26 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
家具厂厂长岗位职责
2014/01/01 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS