String String的正则表达式?

时间:2013-11-19 20:51:35

标签: php regex string username

我对regexp非常愚蠢,但我必须使用它...我必须验证必须与此方案匹配的用户名字段:“Firstname_Lastname”

这意味着有效用户名只是由下划线分隔的字母。第一个名字和姓氏必须以大写字母开头,但其余部分必须小写。

我试过这个,但它不起作用:

<?php
$username = "Dani_Sebi"; 

$regex = '/^[A-Z][a-z]+_^[A-Z][a-z]+/'; 

if (preg_match($regex, $username)) {

 echo $username . " is a valid username. We can accept it.";
} else {

 echo $username . " is an invalid username. Please try again.";
}
?>

3 个答案:

答案 0 :(得分:4)

^在reex中错位。试试这个:

$regex = '/^([A-Z][a-z]+)_([A-Z][a-z]+)/'; 

答案 1 :(得分:2)

我打赌这可以改进,但它有效:

^[A-Z][a-z]+_[A-Z][a-z]+$

答案 2 :(得分:0)

^[:upper:][:lower:]*_[:upper:][:lower:]*$

也有单个字母的名字,所以这个更好。