如何查看php字符串是否仅包含0-9,以及|?所以它接受158,147|157,541|145,157
但不接受125 ,148|126,4
答案 0 :(得分:0)
使用正则表达式:
if (!preg_match("~^[\d|,]+$~", $yourstr)) {
// invalid
正则表达式解释说:
~
只是正则表达式分隔符
^
是字符串锚点
[...]
是一个字符类
\d
是一种速记,表示0-9
范围内的任何字符
|
和,
只是|
和,
文字。
+
是“一个或多个”重复运算符
$
是字符串锚
它基本上意味着:
匹配仅具有以下字符的字符串:0-9
,,
和|
。
将其更改为:
if (!preg_match("~^[\d|,]*$~", $yourstr)) {
// invalid
如果您不希望它拒绝空字符串。 *
表示“零或更多”(而非+
,即“一个或多个”)
正则表达式参考:http://regular-expressions.info/