<!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函数,做字符串格式化功能的更多相关文章

  1. 前端 自定义format函数

    为字符串创建format方法,用于字符串格式化  {# 前端没有字符串占位符%s的替代方法,以下是自定义字符串替换的方法,以后前端拓展方法都可以使用下面的形式 #} String.prototype. ...

  2. python中format函数用于字符串的格式化

    python中format函数用于字符串的格式化 通过关键字 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 grade = {'name' : ...

  3. string.Format对C#字符串格式化[转]

    string.Format对C#字符串格式化 String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 ...

  4. 通过Oracle函数SQL实现C# String.Format字符串格式化功能

    语言国际化要求,开发上要求Oracle数据库SQL中对应的返回信息-Message,实现一个通用函数调用,比如:提示信息内容:条码123456当前工站在FCT!”,即通用的信息内容格式化标准为:“条码 ...

  5. 【转】string.Format对C#字符串格式化

    转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...

  6. string.Format对C#字符串格式化

    String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.Stri ...

  7. C#-string.Format对C#字符串格式化

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  8. 【C#学习笔记】string.Format对C#字符串格式化

    文章转自:CSDN   http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格 ...

  9. LoadRunner中自定义C函数实现字符串替换

    .在globals.h 中定义一个函数ReplaceStr,实现字符串的替换: int ReplaceStr(char* sSrc, char* sMatchStr, char* sReplaceSt ...

随机推荐

  1. django自定义模板标签

    # 创建自定义模板标签目录 django_project_name app_name templatetags (创建Python Packge,注意一定要用templatetags这个名字) my_ ...

  2. java第7次作业

    interface Pet{ public String getName() ; public String getColor() ; public int getAge() ; } class Ca ...

  3. bash快捷方式

    cmd /k "cd /d E:/site/collect/"                                                            ...

  4. DBUtils——handler

    ArrayHandler: 把结果集中的第一行数据转成对象数组. ArrayListHandler: 把结果集中的每一行数据都转成一个对象数组,再存放到List中. BeanHandler: 将结果集 ...

  5. JDBC-day1

    package cn.gzsxt.test; import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.D ...

  6. eclipse Android项目 DDMS db文件 导出 Failed to pull selection null 问题

    我在 eclipse的Android项目中,在 DDMS导出db文件 时,发现报错:Failed to pull selection null 在左侧选中设备,在进行导出 这样就可以正常的进行导出db ...

  7. java基础知识—继承

    1.不能被继承的父类成员: private成员.子类与父类不在同包,使用默认访问权限的成员.构造方法. 2.访问修饰符: 访问修饰符        本类       同包      子类     其它 ...

  8. ./sample_mnist: error while loading shared libraries: libnvinfer.so.4: cannot open shared object file: No such file or directory

    Your library is a dynamic library. You need to tell the operating system where it can locate it at r ...

  9. hadoop.docker.up.problems: Too many levels of symbolic links

    #root@c7hp:~ excp c78 "zkServer.sh start"[1] 11:49:44 [FAILURE] c78 Exited with error code ...

  10. aqua data studio 连接db2

    打开datastudio 右键本地数据库服务器 →注册服务器打开以下界面: 1:选择版本号(我这里是window 9.7版本的db2) 2:名称 按照需要的写 3.登录名/密码 4.ip port 数 ...