Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证字母数字字符串的php代码_Php_Regex_Character - Fatal编程技术网

验证字母数字字符串的php代码

验证字母数字字符串的php代码,php,regex,character,Php,Regex,Character,我想在php中验证表单文本框中的字母数字字符串。它可以包含数字和特殊字符,如“.”和“-”,但字符串不应仅包含数字和特殊字符。请帮助输入代码。试试这个 // Validate alphanumeric if (preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $input)) { // Valid } else { // Invalid } 我对regex有点陌生,但我会这样做: preg_match('/^[\w.-]+$/', input)

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

试试这个

// Validate alphanumeric
if (preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $input)) {
    // Valid
} else {
    // Invalid
}

我对regex有点陌生,但我会这样做:

preg_match('/^[\w.-]+$/', input)

使用
ctype_alnum
如下所示:

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

代码中的功能规范:

if(预匹配('/[^a-z \-0-9]/i',$string))
{
回显“无效字符串”;
}
说明:

  • []=>字符类定义
  • ^=>否定该类
  • a-z=>字符从“a”到“z”
  • _=>下划线
  • -=>连字符'-'(需要对其进行转义)
  • 0-9=>数字(从零到九)

正则表达式末尾的“i”修饰符表示“不区分大小写”,如果您没有在代码中添加大写字符,则需要先执行A-Z

验证结果应该是什么,您尝试了什么?向我们展示一些有效和无效的输入。这基本上是表单中的“资产详细信息”输入框。它可以接受字母数字值以及“.”和“-”。如果用户只输入数字,或者只输入“.”或“-”,那么它应该发出警告,指出这不是有效的输入类型。简而言之,它应该接受字母数字和“.”或“-”的组合,例如,jay123:valid 1234:invalid….:invalid jay.kum:valid@jayantkumar我的答案满足您的需要吗?我只想澄清一下,“ctype_alnum()”函数只检查字符串是否包含所有字符、所有数字或两者。如果您希望只包含最初请求的字符和数字,则此解决方案无效。此解决方案不适用于土耳其语字符。非常感谢。