【问题标题】:How to change 1,000,000 price to 1,XXX,XXX using php or javascript?如何使用 php 或 javascript 将 1,000,000 价格更改为 1,XXX,XXX?
【发布时间】:2017-04-03 03:44:18
【问题描述】:

这是我的源代码:

preg_replace('/[A-Z0-9]/', 'X', number_format('1000000'));

结果:x,xxx,xxx

但是,我想要1,xxx,xxx这样的结果,即不要替换第一个数字。

【问题讨论】:

    标签: javascript php price


    【解决方案1】:

    以下是在 JavaScript 中执行此操作的几种简单方法:

    var input = "1,000,000"
    var output = input.substr(0,1) + input.substr(1).replace(/\d/g, 'x')
    console.log(output)
    
    // or:
    var output2 = input.replace(/\d/g, function(m, i) { return i ? 'x' : m })
    console.log(output2)

    (如果您希望在服务器端进行,我假设您至少可以将第一个转换为 PHP 没有任何问题,尽管您确实要求使用 PHP JS。)

    【讨论】:

    • 我想在 PHP 中隐蔽而不是 JS。你能帮帮我吗?
    • 如果您不想要 JS,为什么将其作为选项包含在您的问题中?抱歉,我不了解 PHP,但我确定它有一个 substr() 函数,所以您肯定可以将我的第一个方法转换为 PHP 吗?我最初确实有 JS 字符串 .slice() 方法,但我现在将其更改为 .substr()(它做同样的事情)以使其更接近 PHP。
    • 感谢您的回答。
    【解决方案2】:

    试试这个。

    echo preg_replace('/(?!^)\S/',  'X', number_format('1000000'));
    

    【讨论】:

      【解决方案3】:

      使用 PHP 时请使用此代码:

      <?php
      $number  = '1000000';
      $x = number_format($number);
      echo $result = str_replace("0", "X", $x);
      ?>
      

      【讨论】:

      • 我想替换 0-9 而不仅仅是 0,因为我的数字将是 1,250,050
      • 您可以使用/\w/ 代替"0" 来替换任何字母或数字,无论大小写。
      • 请使用这个:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 2021-09-20
      • 2020-10-18
      • 2020-01-02
      • 1970-01-01
      相关资源
      最近更新 更多