【发布时间】:2017-04-03 03:44:18
【问题描述】:
这是我的源代码:
preg_replace('/[A-Z0-9]/', 'X', number_format('1000000'));
结果:x,xxx,xxx
但是,我想要1,xxx,xxx这样的结果,即不要替换第一个数字。
【问题讨论】:
标签: javascript php price
这是我的源代码:
preg_replace('/[A-Z0-9]/', 'X', number_format('1000000'));
结果:x,xxx,xxx
但是,我想要1,xxx,xxx这样的结果,即不要替换第一个数字。
【问题讨论】:
标签: javascript php price
以下是在 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。)
【讨论】:
substr() 函数,所以您肯定可以将我的第一个方法转换为 PHP 吗?我最初确实有 JS 字符串 .slice() 方法,但我现在将其更改为 .substr()(它做同样的事情)以使其更接近 PHP。
试试这个。
echo preg_replace('/(?!^)\S/', 'X', number_format('1000000'));
【讨论】:
使用 PHP 时请使用此代码:
<?php
$number = '1000000';
$x = number_format($number);
echo $result = str_replace("0", "X", $x);
?>
【讨论】:
/\w/ 代替"0" 来替换任何字母或数字,无论大小写。