$foo = "username122";
pre_match('Contain only aplhanumeric string', $foo){
return true;
}
$foo
仅包含字母数字而非特殊字符(=\*-[
(等)
答案 0 :(得分:4)
ctype_alnum()
函数会让你花哨:)
答案 1 :(得分:3)
仅从头到尾使用与字母数字字符匹配的正则表达式:
/^[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
}
答案 2 :(得分:0)
这样的正则表达式不会在PHP和JavaScript之间发生变化。在JavaScript中它是一个对象,而在PHP中它是一个字符串,但模式仍然是相同的:
/^[a-z0-9]+$/i
其中^
表示字符串的开头,$
表示字符串的结尾。接下来,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
使用Ctype functions,特别是ctype_alnum
函数实际上是一种更容易在PHP中进行测试的方法,它将返回一个布尔值,说明给定字符串中的所有字符是否都是是否是字母数字:
ctype_alnum("Foo123"); // true
ctype_alnum("Foo!23"); // false
答案 3 :(得分:0)
if(preg_match('~[^a-z0-9 ]~i', $foo)) {
//DO SOMETHING HERE;
}