Stack Overflow 中的某个人给了我这段代码:
$output = preg_replace( '/(\+?\d{2}|0)(\d{7,8})/', '0$2', $test);
它改变了用户输入:
+622112345 转 02112345
622112345转02112345
02112345 变成 02112345
不幸的是,它只适用于 7-8 位数字。我决定将代码更改为:
$output = preg_replace( '/(\+?\d{2}|0)(\d{15})/', '0$2', $test);
通过更改(\d{7,8})
为(\d{15})
,我希望我可以让这个 RegEx 验证最多 15 位数字。但是,这就是我所拥有的:
input : 083812345678910 >> output : 083812345678910 [correct]
input : 6283812345678910 >> output : 6283812345678910 [false, should be : 083812345678910]
input : +6283812345678910 >> output : 6283812345678910 [false, should be : 083812345678910]
我怎样才能使它适用于 15 位数字?谢谢。
更新:用户输入可以是 10、11、12 甚至 13 位数字。但不超过 15 位。所以我需要这个代码来更改前缀:+62、62 或 0 INTO 0xxxx。不管他们有多少位数,最多 15 位。