【问题标题】:validating only selected characters in string php (phone number validation)仅验证字符串 php 中的选定字符(电话号码验证)
【发布时间】:2011-02-01 08:34:00
【问题描述】:

我有一个包含字母数字字符的字符串。 如果字符串仅包含 0-9-+ 或单词 NA,则脚本应返回 (echo) "true"(仅当不包含其他字符时才应验证 NA,并且应在以下情况下回显 false字符串包含任何其他字符以及“NA”),如果字符串包含指定字符以外的任何其他字符,则脚本应回显“false”。我怎样才能做到这一点??

提前谢谢.. :)

爆破

【问题讨论】:

    标签: php string validation preg-match


    【解决方案1】:
    if(preg_match('/^(NA|[0-9+-]+)$/',$str)) {
            echo "true\n";
    } else {
            echo "false\n";
    }
    

    【讨论】:

      【解决方案2】:

      使用正则表达式非常简单:

      $regExp = '/^(?:[0-9+-]+|NA)$/i';
      echo preg_match($regExp, $string) ? 'true' : 'false';
      

      但是:

      • 您确定要确保字符串包含0-9-+?这将使以下有效数字:
        • -9+9291---
        • +2039-291919++0203-19293
      • 如果您只想匹配 NA 而不是 nANana,请删除模式末尾的 i

      【讨论】:

        【解决方案3】:
        $check1 = preg_match('/^[0-9]{1,}$/', $string);
        $check2 = preg_match('/^NA$/', $string);
        

        【讨论】:

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