Tom*_*asz 2 php regex capitalization
我需要一个正则表达式来检查一个字符串是否只包含字母(az),并且第一个字母是大写的,你不能在一个单词大写中有2个字母,如:THomas或THOMAS但托马斯安德森(托马斯安德森)也是有效的
看:
The Magician Of The Elfs 是有效但不是 ThE MaGiCiAN oF ThE ELFS
if (!preg_match("??", $name)) {
echo "Invalid name!";
}
Run Code Online (Sandbox Code Playgroud)
希望你能理解!
托马斯
无效:
MaGIciaN Of The ELFz
THomas anderson
有效:
Magician of the elfs
Magician Of the Elfs
Magician of The elfs
Thomas Anderson
Thomas anderson
基本上我不希望它有可能在一个单词中有超过1个大写字母,而不是句子.
'/^[A-Z][a-z]+( [A-Z][a-z]+)*$/'
Run Code Online (Sandbox Code Playgroud)
但是未经测试.
编辑哦,也许我误解了你的问题.以上假设最小字长为2."John A"或"A Horse"有效吗?在那种情况下:'/^[A-Z][a-z]*( [A-Z][a-z]*)*$/'.
根据更新要求:
'/^[A-Z][a-z]*( [A-Za-z][a-z]*)*$/'
Run Code Online (Sandbox Code Playgroud)
验证一个大写字母后跟任意数量的小写字母.在此之后,任意数量的序列:空格(可能是大写字母),任意数量的小写字母(每个空格至少一个字母).