-1

このコード スニペットは codeigniter から取得したもので、数字とダッシュを使用できる新しい関数にコピーしようとしています。ダッシュと括弧も許可するには、この正規表現に何を追加する必要がありますか?

preg_match( '/^[\-+]?[0-9]*\.?[0-9]+$/', $str);
4

2 に答える 2

2

あなたの正規表現はこれを意味します: 行を - または + MAYBE で始めます 次に 0-9 ゼロ回以上 次に a . MAYBE その後、次の数字の少なくとも 1 つで終わります: 0 ~ 9

正規表現に何をさせたいかを指定する必要があり、そうすれば誰かが正しい正規表現を書くことができます。

編集 ここに行きます:

<?php

// 555-555-5555 or (555) 555-5555 or (555)555-5555
$str = '555-555-5555';
if (preg_match( '/^((\([0-9]{3}\)) ?|[0-9]{3}-)[0-9]{3}-[0-9]{4}$/', $str) == 1){
    echo 'Yes!';
}else{
    echo 'No!';
}
?>
于 2012-11-06T04:30:17.220 に答える
1
preg_match( '/^\+?[-0-9]*\.?[-0-9]+$/', $str);

アップデート:

preg_match( '/^\+?[-0-9()]*\.?[-0-9()]+$/', $str);
于 2012-11-06T04:16:37.133 に答える