前端自定义format函数,做字符串格式化功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义format函数,做字符串格式化功能</title>
</head>
<body>
<script>
String.prototype.format = function (kwargs) { //自定义定义format方法,这样字符串就多了一个自定义format方法kwargs接收字符串传来的字典
//this就是当前调用这个方法的对象xixi。this= "xixi: {age} - {gender}"
// kwargs={'age':18,'gender': '男'}
var ret = this.replace(/\{(\w+)\}/g,function (km,m) { //replace通过正则匹配this里面以{}里面的都替换,km是匹配成功的值{age}和{gender},m是在km基础上把里面的分组提取到是age和gender,ret就是最后被返回的值
return kwargs[m]; //拿到18和男
});
return ret; //如果在这个函数有return的话匹配的位置就会被替换什么
}; //需要格式化的函数
var v = "xixi: {age} - {gender}"; //v=xixi: {age} - {gender}要把{age} - {gender}格式化到{'age':18,'gender': '男'}的指定位置
var result = v.format({'age':18,'gender': '男'}); //v.执行自定义format方法传一个字典{'age':18,'gender': '男'}进去,result就是格式化完成之后的值
console.log(result); //xixi: 18 - 男
</script>
</body>
</html>
格式化后:
xixi: 18 - 男
前端自定义format函数,做字符串格式化功能的更多相关文章
- 前端 自定义format函数
为字符串创建format方法,用于字符串格式化 {# 前端没有字符串占位符%s的替代方法,以下是自定义字符串替换的方法,以后前端拓展方法都可以使用下面的形式 #} String.prototype. ...
- python中format函数用于字符串的格式化
python中format函数用于字符串的格式化 通过关键字 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 grade = {'name' : ...
- string.Format对C#字符串格式化[转]
string.Format对C#字符串格式化 String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 ...
- 通过Oracle函数SQL实现C# String.Format字符串格式化功能
语言国际化要求,开发上要求Oracle数据库SQL中对应的返回信息-Message,实现一个通用函数调用,比如:提示信息内容:条码123456当前工站在FCT!”,即通用的信息内容格式化标准为:“条码 ...
- 【转】string.Format对C#字符串格式化
转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...
- string.Format对C#字符串格式化
String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.Stri ...
- C#-string.Format对C#字符串格式化
1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...
- 【C#学习笔记】string.Format对C#字符串格式化
文章转自:CSDN http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格 ...
- LoadRunner中自定义C函数实现字符串替换
.在globals.h 中定义一个函数ReplaceStr,实现字符串的替换: int ReplaceStr(char* sSrc, char* sMatchStr, char* sReplaceSt ...
随机推荐
- linux 安装node.js 和npm
cd /usr/local mkdir nodejs cd nodejs 去https://nodejs.org/en/download/复制安装包地址 wget https://nodejs.org ...
- JDBC连接ORACLE的三种URL格式
格式一: Oracle JDBC Thin using an SID jdbc:oracle:thin:@host:port:SID 例如: jdbc:oracle:thin:@localhost:1 ...
- linux 迁移项目ProtocolException
背景:服务器跟换机房,虚拟机完整迁移项目,只修改ip和主机名 1.检查/etc/hosts 中ip 和主机名映射 2.检查网络端口是否有限制以及端口开放是否全了,检查ip有没有配对.RMI注册不上.
- SQL中的with check option(转)
student表: 95001 李勇 男 20 CS 95002 刘晨 女 21 IS 95003 王敏 女 18 MA 95004 张力 男 19 IS 建立视图IS_STUDENT显示“IS”系所 ...
- 获取百度地图POI数据二(准备搜索关键词)
上篇讲到 想要获取尽可能多的POI数据 需要准备尽可能多的搜索关键字 那么这些关键字如何得来呢? 本人使用的方法是通过一些网站来获取这些关键词 http://poi.mapbar.com ...
- servlet中常用到的工具
1. 解析ajax传来的json字符串,得到json对象 private JSONObject getJsonObject(HttpServletRequest req) { StringBuffer ...
- 目标检测(二) SPPNet
引言 先简单回顾一下R-CNN的问题,每张图片,通过 Selective Search 选择2000个建议框,通过变形,利用CNN提取特征,这是非常耗时的,而且,形变必然导致信息失真,最终影响模型的性 ...
- 桂林电子科技大学第三届ACM程序设计竞赛 G 路径
链接:https://ac.nowcoder.com/acm/contest/558/G来源:牛客网 小猫在研究树. 小猫在研究路径. 给定一棵N个点的树,每条边有边权,请你求出最长的一条路径,满足经 ...
- goroutine和channel
近期在学习golang的goroutine和channel时候有一些疑惑: 带缓冲的channel和不带缓冲的channel有什么区别? goroutine和主进程的有哪些影响和关系? 多个gorou ...
- Spring动态获取已注入的对象的方法
1.根据类获取对象 @Autowired ApplicationContext context; GenericMapper<T,String> dao=(GenericMapper< ...