如何使用JS在HTML中自定义字符串格式化

JavaScript088

如何使用JS在HTML中自定义字符串格式化,第1张

Python中支持字符串格式化,其基本形式如下:

?

1

2

3

4

str = "I'm %s, %s years old." % ('jack', 19)

print(str)

#结果:

I'm jack, 19 years old.

在JavaScript中虽没有类似的方法,但我们可以利用字符串的replace方法自定义字符串的格式化方法:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<script>

$(function () {

/*自定义字符串格式化*/

String.prototype.Format = function (args) {

/*this代表要调用Format方法的字符串*/

/*replace的第一个参数为正则表达式,g表示处理匹配到的所有字符串,在js中使用//包起来*/

/*replace的第二个参数为匹配字符串的处理,k1匹配结果包含{},k2只保留{}内的内容*/

var temp = this.replace(/\{(\w+)\}/g, function (k1, k2) {

console.log(k1, k2)

/*replace将匹配到的k2用参数args替换后赋给新变量temp*/

return args[k2]

})

/*自定义方法Format将格式化后的字符串返回*/

return temp

}

}

</script>

AngularJS 过滤器

过滤器可以使用一个管道字符(|)添加到表达式和指令中。

AngularJS 过滤器可用于转换数据:

currency格式化数字为货币格式。

filter从数组项中选择一个子集。

lowercase格式化字符串为小写。

orderBy根据某个表达式排列数组。

uppercase格式化字符串为大写。

1.表达式中添加过滤器

过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中。.

uppercase 过滤器将字符串格式化为大写:

AngularJS 实例

<div ng-app="myApp" ng-controller="personCtrl">

<p>姓名为 {{ lastName | uppercase }}</p>

</div>

2.lowercase 过滤器将字符串格式化为小写:

AngularJS 实例

<div ng-app="myApp" ng-controller="personCtrl">

<p>姓名为 {{ lastName | lowercase }}</p>

</div>