【问题标题】:Check if string only contains numbers in php [duplicate]检查字符串是否仅包含php中的数字[重复]
【发布时间】:2018-07-07 20:31:32
【问题描述】:

我想检测我拥有的字符串是否仅包含数字,而不包含 lettercommadot。 比如这样:

083322 -> valid
55403.22 -> invalid
1212133 -> valid
61,23311 -> invalid
890022 -> valid
09e22 -> invalid

我已经用过is_numericctype_digit 但它无效

【问题讨论】:

  • 试试这个^\d+$
  • ctype_digit 完全符合您的要求 3v4l.org/YcOSo
  • 您确定输入的是字符串吗? ctype_digit 仅适用于字符串,不适用于数字。

标签: php regex string


【解决方案1】:

您想在这种情况下使用 preg_match,因为 61,23311 和 55403.22 都是有效数字(取决于区域设置)。 即

if (preg_match("/^\d+$/", $number)) {
    return "is valid"
} else {
    return "invalid"
}

【讨论】:

    【解决方案2】:

    怎么样

    if (preg_match('/^[0-9]+$/', $str)) {
      echo "valid";
    } else {
      echo "invalid";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多