我想通过正则表达式检查输入包含16个数字

时间:2010-06-02 11:34:57

标签: php regex

我有输入,我想检查一下。

它应该只接受数字,并且必须是16,不多也不少。

如何使用php和regex做到这一点?

4 个答案:

答案 0 :(得分:3)

正则表达式为^\d{16}$

preg_match("/^\\d{16}$/", $str);

答案 1 :(得分:2)

^\d{16}$

解释:

  • ^表示该行的开头(之前没有任何内容)
  • \d表示数字(decimbal)
  • {16}表示“正好16”
  • $表示该行的结尾(之后没有任何内容)

答案 2 :(得分:0)

我认为您需要信用卡验证器

^(\ d {4} [ - ]){3} \ d {4} | \ d {16} $

这将匹配:

1234-1234-1234-1234 | 1234 1234 1234 1234 | 1234123412341234

请注意,这是从regexlib

复制的

答案 3 :(得分:0)

仅使用is_numeric()strlen()确保其16个字符和数字不是更好。