验证由 - 分隔的数字列表 -

时间:2011-07-22 21:24:25

标签: php string validation numbers

如何验证包含数字列表的字符串,如:

23-4-3-3434-356-323

与模式NUMBER-NUMBER-...匹配的任何字符串都有效。

2 个答案:

答案 0 :(得分:1)

$valid = (bool) preg_match('~^[0-9]+(-[0-9]+)+$~', $string);

http://php.net/pcre.pattern

复制Felix Kling删除的答案(见评论)

  

正如其他人所说,您可以使用regular expressions(例如preg_match [docs]):

答案 1 :(得分:1)

如果您不喜欢正则表达式版本,那么:

$valid = true;
foreach(explode('-', $string) as $num) {
  if(!is_numeric($num)) $valid = false;
}

作为一项功能:

function valid($string) {
  foreach(explode('-', $string) as $num) {
    if(!is_numeric($num)) return false;
  }
  return true;
}