【问题标题】:Format / filter an output with regular expression in Angular.js在 Angular.js 中使用正则表达式格式化/过滤输出
【发布时间】:2014-11-13 19:11:16
【问题描述】:

鉴于此:

        <span ng-repeat="extra in extras">
            <br>
            <input type="checkbox" ng-click="addExtra()"  value="{{extra.id}}" >{{extra.name}} - <strong>{{extra.real_price}}</strong>
        </span>

如何使 {{extra.real_price}} 使用过滤器仅输出数字?

示例: extra.real_price 为 'from 400€' 转换为 '400'

【问题讨论】:

    标签: angularjs filter format angularjs-ng-repeat


    【解决方案1】:

    您可以使用正则表达式去除除数字以外的所有字符:

    app.filter('onlyNumbers', function () {
        return function (item) {
          return item.replace(/[^\d|^,|^.]/g, '');
        }
      });
    

    正则表达式可以被阅读:替换所有不是数字、逗号或点的字符。

    请注意,由于您使用的是货币值,因此点和逗号都应该是可接受的值。

    这些是一些使用和输出的例子:

    {{ '23345€' | onlyNumbers }}       => 23345
    {{ '$23345' | onlyNumbers }}       => 23345
    {{ '$23345.00' | onlyNumbers }}    => 23345.00
    {{ '23345,00 €' | onlyNumbers }}   => 23345,00
    

    【讨论】:

    • 这个答案可以吗?请考虑接受它:)
    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    相关资源
    最近更新 更多