如何在正则表达式中验证BIGINT

时间:2015-05-23 06:36:01

标签: php mysql regex

我正在尝试验证BIGINT mysql数据类型。但我在re101上收到错误,它表示范围太大,当它超过5位数时..那么如何在这种情况下验证?

     ^\d{1,980989}$

2 个答案:

答案 0 :(得分:2)

您可以使用

\b(?:[0-9]{1,18}|[1-8][0-9]{18}|9(?:[01][0-9]{17}|2(?:[01][0-9]{16}|2(?:[0-2][0-9]{15}|3(?:[0-2][0-9]{14}|3(?:[0-6][0-9]{13}|7(?:[01][0-9]{12}|20(?:[0-2][0-9]{10}|3(?:[0-5][0-9]{9}|6(?:[0-7][0-9]{8}|8(?:[0-4][0-9]{7}|5(?:[0-3][0-9]{6}|4(?:[0-6][0-9]{5}|7(?:[0-6][0-9]{4}|7(?:[0-4][0-9]{3}|5(?:[0-7][0-9]{2}|80[0-7]))))))))))))))))\b

utilitymill.com提供:)

如果您想匹配[+]?符号,请在开头添加可选+

请参阅demo

答案 1 :(得分:1)

Wiktor Stribiżew的答案略有变化,以允许-9223372036854775808,以及前面的pos / neg符号。

DateTime

边界条件:

  • 9223372036854775807
  • +9223372036854775807
  • 9223372036854775808
  • +9223372036854775808
  • -9223372036854775808
  • -9223372036854775809