php regex ctype

时间:2012-01-19 21:30:47

标签: php regex

我需要一个正则表达式来查看$ input仅包含字母字符或空格是否还需要一个来检查$ numInput是否只包含数字字符或空格和一个组合所以:

$alphabeticOnly = 'abcd adb';
$numericOnly = '1234 567';
$alphabeticNumeric = 'abcd 3232';

因此,在上述所有示例中,只允许使用字母,数字,空格。

如何获得这3种不同的正则表达式?

3 个答案:

答案 0 :(得分:2)

这应该可以帮到你

if (!preg_match('/^[\sa-zA-Z]+$/', $alphabeticOnly){
    die('alpha match fail!');
}

if (!preg_match('/^[\s0-9]+$/', $numericOnly){
    die('numeric match fail!');
}

if (!preg_match('/^[\sa-zA-Z0-9]+$/', $alphabeticNumeric){
    die('alphanumeric match fail!');
}

答案 1 :(得分:2)

这是非常基本的

/^[a-z\s]+$/i - letter and spaces
/^[\d\s]+$/ - number and spaces
/^[a-z\d\s]+$/i - letter, number and spaces

只需在preg_match()

中使用它们即可

答案 2 :(得分:1)

为了兼容unicode,您应该使用:

/^[\pL\s]+$/      // Letters or spaces
/^[\pN\s]+$/      // Numbers or spaces
/^[\pL\pN\s]+$/   // Letters, numbers or spaces