帮助验证字段

时间:2010-03-12 04:04:47

标签: php

如何检查字段是否包含数字和字母。

类似于$ str = 3ab,ab3,a3

4 个答案:

答案 0 :(得分:3)

要检查字符串是否包含数字和字母,您可以编写一个基于正则表达式的小函数:

function contains_num_alpha($str) {

return preg_match('/^[a-z0-9]+$/i',$str); 

}

使用的正则表达式:^[a-z0-9]+$

  • ^, $ - 主播
  • [a-z0-9] - 与a匹配的char类 单个数字或单个字母。
  • [a-z0-9]+ - 一个或多个 数字/字母。
  • i - 制作匹配案例 不敏感的。

如果您想允许空字符串,可以在正则表达式中将+更改为*

答案 1 :(得分:0)

您可以使用正则表达式

    $stringGood = 'abc2';

    $stringBad = '2#2(7X%';

    function isValidAlphaNum($str) {

     return preg_match('/^[a-z\d]+$/i', $str);

    }

    var_dump(validateAlphaNum($stringGood)); // true
    var_dump(validateAlphaNum($stringBad)); // false

如果您想允许大写和小写字母,数字和下划线,您可以使用此正则表达式:/^\w+$/

答案 2 :(得分:0)

不确定你在问什么,但如果你想检查字符串中是否至少包含1个字母和1个数字字符,那么这个正则表达式应该这样做:

<?php

if (preg_match("^[a-zA-Z0-9]{1,}$", $str) {
  // match was found;
}
?>

答案 3 :(得分:-1)

<?php
 if (is_string("23")) {
  echo "is string\n";
  } else {
   echo "is not an string\n";
   }
   var_dump(is_string('abc'));
   var_dump(is_string("23"));
   var_dump(is_string(23.5));
   var_dump(is_string(true));
   ?> 

使用is_string函数。 如果参数类型是字符串,则返回TRUE,否则返回FALSE。

<?php 
$tests = Array(
                "42",
                1337,
                "1e4",
                "not numeric",
                Array(),
                9.1
              );

foreach($tests as $element)
{
        if(is_numeric($element))
        {
                echo "'{$element}' is numeric", PHP_EOL;
        }
        else
        {
                echo "'{$element}' is NOT numeric", PHP_EOL;
        }
}
?>

如果要检查输入是否为数字,请使用“is_numeric”功能

如果参数是数字,则返回true。否则它返回错误