StackOverflowの誰かが私にこのコードをくれました:
$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})
ことで、この正規表現で最大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、または0INTO0xxxx。桁数に関係なく、最大15桁です。