只检查字符串的字母和数字,两者除外
Checking String only letters and numbers except both
"Hello" returns true
"12345" returns true
"Hello1" returns false
"123H" returns false
正则表达式可以只检查字母和数字吗?
或者
检查PHP的功能?
正则表达式:
/^[A-za-z]*|[0-9]*$/
检查行首,然后是任意数字的字母或任意数字,然后是行尾。
空行 return 为真。如果这是一个问题,请将 *
更改为 +
。
您可以这样使用:^([A-Za-z]+)|([0-9]+)$
。这将确保该字符串要么只包含字母,要么只包含数字,但不能同时包含这两者。
您可以检查正则表达式here。
^(?=(?:\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$
另一个 variation.See 演示。
https://regex101.com/r/sH8aR8/11
$re = "/^(?=(?:\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$/m";
$str = "Hello\n12345\nHello1\n123H";
preg_match_all($re, $str, $matches);
"Hello" returns true
"12345" returns true
"Hello1" returns false
"123H" returns false
正则表达式可以只检查字母和数字吗?
或者
检查PHP的功能?
正则表达式:
/^[A-za-z]*|[0-9]*$/
检查行首,然后是任意数字的字母或任意数字,然后是行尾。
空行 return 为真。如果这是一个问题,请将 *
更改为 +
。
您可以这样使用:^([A-Za-z]+)|([0-9]+)$
。这将确保该字符串要么只包含字母,要么只包含数字,但不能同时包含这两者。
您可以检查正则表达式here。
^(?=(?:\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$
另一个 variation.See 演示。
https://regex101.com/r/sH8aR8/11
$re = "/^(?=(?:\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$/m";
$str = "Hello\n12345\nHello1\n123H";
preg_match_all($re, $str, $matches);