18

我想在 php 的表单文本框中验证字母数字字符串。它可以包含数字和特殊字符,如“。” 和 '-' 但字符串不应仅包含数字和特殊字符。请帮助提供代码。

4

4 回答 4

33

使用ctype_alnum如下:

if(ctype_alnum($string)){
    echo "Yes, It's an alphanumeric string/text";
}
else{
    echo "No, It's not an alphanumeric string/text";
}

阅读php.net上的函数规范

于 2014-02-27T06:28:05.217 回答
21

试试这个

// Validate alphanumeric
if (preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $input)) {
    // Valid
} else {
    // Invalid
}
于 2013-04-10T08:36:45.227 回答
3

代码:

if(preg_match('/[^a-z_\-0-9]/i', $string)) { echo "not valid string"; }

解释:

  • [] => 字符类定义
  • ^ => 否定类
  • az => 字符从 'a' 到 'z'
  • _ => 下划线
  • - => 连字符 '-' (你需要转义它)
  • 0-9 => 数字(从零到九)

正则表达式末尾的“i”修饰符用于“不区分大小写”,如果您不这样做,则需要先在代码中添加大写字符,然后再执行 AZ

于 2016-12-23T05:42:46.937 回答
1

我对正则表达式有点陌生,但我会这样做:

preg_match('/^[\w.-]+$/', input)
于 2013-04-10T14:30:13.373 回答