我对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.";
}
?>
答案 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:]*$
也有单个字母的名字,所以这个更好。