检查php字符串中的无效字符

时间:2010-09-07 02:23:31

标签: php

如何查看php字符串是否仅包含0-9,以及|?所以它接受158,147|157,541|145,157但不接受125 ,148|126,4

1 个答案:

答案 0 :(得分:0)

使用正则表达式:

if (!preg_match("~^[\d|,]+$~", $yourstr)) {
    // invalid

正则表达式解释说:

  • ~只是正则表达式分隔符

  • ^是字符串锚点

  • 的开头
  • [...]是一个字符类

  • \d是一种速记,表示0-9范围内的任何字符

  • |,只是|,文字。

  • +是“一个或多个”重复运算符

  • $是字符串锚

  • 的结尾

它基本上意味着:
匹配具有以下字符的字符串:0-9,|

将其更改为:

if (!preg_match("~^[\d|,]*$~", $yourstr)) {
    // invalid

如果您不希望它拒绝空字符串。 *表示“零或更多”(而非+,即“一个或多个”)

正则表达式参考:http://regular-expressions.info/