$foo = "username122";
pre_match('Contain only aplhanumeric string', $foo){
return true;
}
$foo
仅包含字母数字而非特殊字符(=\*-[
(等)
$foo = "username122";
pre_match('Contain only aplhanumeric string', $foo){
return true;
}
$foo
仅包含字母数字而非特殊字符(=\*-[
(等)
ctype_alnum()
功能会让你花花公子:)
仅使用从头到尾匹配字母数字字符的正则表达式:
/^[A-Za-z0-9]*$/
例如:
$testRegex = "/^[A-Za-z0-9]*$/";
$testString = "abc123";
if (preg_match($testRegex, $testString)) {
// yes, the string is entirely alphanumeric
} else {
// no, the string is not entirely alphanumeric
}
你的正则表达式不会在 PHP 和 JavaScript 之间改变。在 JavaScript 中它是一个对象,而在 PHP 中它是一个字符串,但模式仍然相同:
/^[a-z0-9]+$/i
where^
代表字符串的开头,$
代表字符串的结尾。接下来,a-z
匹配任何字母,并0-9
匹配任何数字。+
表示前一个模式可以重复一次或多次的状态。i
修饰符使部分不区分大小写,因此a-z
大小写匹配。
用 JavaScript 测试:
/^[a-z0-9]+$/i.test("Foo123"); // true
PHP中的测试:
preg_match("/^[a-z0-9]+$/i", "Foo123"); // 1
使用 PHP,您可以选择使用 POSIX 字符类,例如:alnum:
. 请注意,这在 JavaScript 中不起作用:
preg_match("/^[[:alnum:]]+$/i", "Foo123"); // 1
在 PHP 中实际上有一个更简单的测试方法,使用Ctype 函数,特别是ctype_alnum
函数,它将返回一个布尔值,说明给定字符串中的所有字符是否都是字母数字:
ctype_alnum("Foo123"); // true
ctype_alnum("Foo!23"); // false
if(preg_match('~[^a-z0-9 ]~i', $foo)) {
//DO SOMETHING HERE;
}