【问题标题】:I need to validating a 9 similar-digit numbers我需要验证 9 个相似数字
【发布时间】:2017-04-06 00:48:52
【问题描述】:

我如何创建模式来验证这个数字不会出现在我的 php 文本输入中

000000000 111111111 222222222 333333333 444444444 555555555 666666666 777777777 888888888 999999999

【问题讨论】:

  • 这些数字是整数还是整数?是否总是有 9 个字符/数字,或者您是否试图阻止这些数字的重复并且您是否也想避免 9999?
  • 这个数字是整数

标签: php regex html


【解决方案1】:

就像:

if(preg_match('/\d{9,}/', $input)){ // 9 or more digits
  echo 'Problem';
}
else{
  echo 'No Problem';
}

【讨论】:

    【解决方案2】:

    以下将搜索整个字符串,如果它包含错误的输入,则不会检测到它,否则会(根据您的要求)。

    ^((?!(\d)\1{7}).)*$
    

    正则表达式101:

    https://regex101.com/r/BLIBVW/3

    PHP 示例:

    <?php
    
    $testFail = "I like 111111111, but I can't use it";
    echo preg_match('/^((?!(\d)\1{7}).)*$/', $testFail);
    
    ?>
    

    【讨论】:

    • 它工作到 5,但是当我重复 9 次 4 时验证不起作用,为什么?
    • 9 四次正常工作:regex101.com/r/BLIBVW/4。它没有通过它,因为没有 9 个字符。如果您可以标记为解决方案,那将有很大帮助。
    • 我想要的是当用户在我的输入文本中输入 444444444 时。当这种情况发生时,我希望我的验证检查他们不能这样做。我希望这能更好地解释我的想法
    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 2018-06-26
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多