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 相关文章推荐
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
JQuery中使用ajax传输超大数据的解决方法
Jul 14 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
Jan 20 Javascript
protractor的安装与基本使用教程
Jul 07 Javascript
安装vue-cli的简易过程
May 22 Javascript
angular 用Observable实现异步调用的方法
Dec 27 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
javascript实现前端成语点击验证
Jun 24 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
Aug 05 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php无限极分类实现的两种解决方法
2013/04/28 PHP
深入PHP获取随机数字和字母的方法详解
2013/06/06 PHP
php 魔术方法详解
2014/11/11 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
javascript self对象使用详解
2016/10/18 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python实现的栈(Stack)
2018/01/26 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
怎样声明一个匿名的内部类
2016/06/01 面试题
十佳大学生村官事迹
2014/01/09 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
初中信息技术教学反思
2016/02/16 职场文书
python OpenCV学习笔记
2021/03/31 Python
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫