2

文字列に数字とパイプ (または) カンマ、文字のみが含まれていることを確認するにはどうすればよいですか? 例: すべての文字が数字とパイプのみ、または数字とカンマとパイプのみ

EG: 
1|2,2|3    = true
1|2        = true
bob        = false
bob|yes,no = false

これは私がこれまでに得た限りです

if (preg_match('/^[0-9|]|[0-9,|]+$/', $str)){ 
   //if all of the characters are only numbers and pipes or numbers, commas and pipes only

}
4

1 に答える 1

4

以下を試してください:

function ensure($str) {
    return (bool) preg_match('/^[\d|,]+$/', $str);
}

var_dump(ensure('1|2,2|3'));
var_dump(ensure('1|2'));
var_dump(ensure('16|2'));
var_dump(ensure('bob'));
var_dump(ensure('bob|yes,no'));
var_dump(ensure(''));

版画

bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
于 2013-09-11T13:32:55.177 に答える