验证包含数字和冒号的字符串

时间:2016-03-28 10:32:38

标签: php regex forms validation

我有<form> <input>,只应包含数字和冒号,如下所示:

$string = '1:9:3:2:0';

当我验证用户提交的字段时,我想确保此输入有效。例如,如果它只是数字,我会进行is_numberic()检查。

如何验证此字符串?

澄清:

$string = '1:9:3:2:0'; // pass
$string = '2123:8:1'; // pass
$string = 'a:9:3:2:0'; // fail
$string = '1:9:3:2:'; // fail
$string = '1:9:3:2:0';

regex语句是否可行?

1 个答案:

答案 0 :(得分:4)

使用以下正则表达式进行字段验证。

var $m = preg_match('~^\d+(?::\d+)+$~', $str);
  • ^ - 开始行。

  • \d+ - 匹配一个或多个数字字符。

  • :\d+ - 一个冒号和一个或多个数字。

  • (?::\d+)+重复^^一次或多次。

  • $行尾。

编辑:

var $m = preg_match('~^\d+(?::\d+)*$~', $str);