Php 将Nicename拆分为FIrst&;姓
这是我们的继续 我的数据库中有名字和姓氏,用户可以根据设计输入他的全名。这是一个单一的输入字段,他可以在其中输入任何格式的名称 e、 gPhp 将Nicename拆分为FIrst&;姓,php,javascript,regex,database,validation,Php,Javascript,Regex,Database,Validation,这是我们的继续 我的数据库中有名字和姓氏,用户可以根据设计输入他的全名。这是一个单一的输入字段,他可以在其中输入任何格式的名称 e、 g 詹姆斯·沃森博士 山丘比利 洛伦佐·冯·马特霍恩爵士 等等 现在的问题是, 1.如何立即验证名称,regex? 2.如何将其处理为名字和姓氏。我可以使用JS或PHP 有没有专门为此制定的规则?听起来像是家庭作业。在一般情况下似乎是可疑的。看 大多数web表单都有一个名字、姓氏等的位置。如果很容易的话,他们不会这样做 尤达说:调用正则表达式!?你将陷入一个特
- 詹姆斯·沃森博士
- 山丘比利
- 洛伦佐·冯·马特霍恩爵士
有没有专门为此制定的规则?听起来像是家庭作业。在一般情况下似乎是可疑的。看 大多数web表单都有一个名字、姓氏等的位置。如果很容易的话,他们不会这样做 尤达说:调用正则表达式!?你将陷入一个特殊情况的地狱。趁现在还来得及停下 约翰·史密斯博士 约翰·史密斯博士 约翰·史密斯,医学博士 约翰·史密斯博士 詹姆斯六世国王 詹姆斯六世,诸如此类的国王,信仰的捍卫者 非洲山茱萸 教皇本笃 本尼迪克特·阿诺德 吉姆·波普 特里萨修女 特里萨修女 母亲!@$%^ 扭曲的姐妹 牧师。马丁·路德·金博士 马丁·路德·金牧师 马丁·路德·金博士 乔治·W·布什总统 W
乔治男孩听起来像是家庭作业。在一般情况下似乎是可疑的。看 大多数web表单都有一个名字、姓氏等的位置。如果很容易的话,他们不会这样做 尤达说:调用正则表达式!?你将陷入一个特殊情况的地狱。趁现在还来得及停下 约翰·史密斯博士 约翰·史密斯博士 约翰·史密斯,医学博士 约翰·史密斯博士 詹姆斯六世国王 詹姆斯六世,诸如此类的国王,信仰的捍卫者 非洲山茱萸 教皇本笃 本尼迪克特·阿诺德 吉姆·波普 特里萨修女 特里萨修女 母亲!@$%^ 扭曲的姐妹 牧师。马丁·路德·金博士 马丁·路德·金牧师 马丁·路德·金博士 乔治·W·布什总统 W
乔治男孩命名人没有国际标准。但是,也许朝鲜有一个:
Kim
+对领导者的奉献程度
人们可能有多个名字,甚至有多个姓氏
即使在同一种文化中,名字的顺序也可能不同:(西方中国人为了符合英语的习惯,先交换名字,后交换名字)
有正式地址,如先生或先生
有无限组合的学术头衔:教授、博士
可以有代后缀(初级、高级):
世界上最大的名字是:
阿道夫布莱恩查尔斯大卫伯爵弗雷德里克杰拉尔德休伯特欧文约翰
肯尼思·劳埃德·马丁·尼罗·奥利弗·保罗·昆西·兰多夫·谢尔曼·托马斯
联合国军司令部维克多·威廉·薛西斯·扬西·宙斯
Wolfe-schlegelstein-hausenberger-Dorfvorten-waren-gewissenhaft-schaferswessen-schafewaren-wohlgepflege-und-Sorgeltigkeit-beschutzen-von-angreifen-durch-Ihraubgierigfeinde-welche-vortern-Zwolftaussend-jahres-Voranderscheiner-Wandersteer-dem-Enschderraumschderraumschiff-gebrauchlicht-als-als-sein-von-Kraft-Kraft-von-Kraft这是一个非常成功的计划,因为它是一个非常聪明的计划geschopfs-von-hinzwischen-Sternartigramen,
前辈
如果您的输入字段被限制为最大字符数,不用担心,此人幸运地有一个简短的名字:
沃尔夫+585,高级
在这种情况下,您不应该忘记允许+
和585
作为有效的名称字符
命名人没有国际标准。但是,也许朝鲜有一个:
Kim
+对领导者的奉献程度
人们可能有多个名字,甚至有多个姓氏
即使在同一种文化中,名字的顺序也可能不同:(西方中国人为了符合英语的习惯,先交换名字,后交换名字)
有正式地址,如先生或先生
有无限组合的学术头衔:教授、博士
可以有代后缀(初级、高级):
世界上最大的名字是:
阿道夫布莱恩查尔斯大卫伯爵弗雷德里克杰拉尔德休伯特欧文约翰
肯尼思·劳埃德·马丁·尼罗·奥利弗·保罗·昆西·兰多夫·谢尔曼·托马斯
联合国军司令部维克多·威廉·薛西斯·扬西·宙斯
Wolfe-schlegelstein-hausenberger-Dorfvorten-waren-gewissenhaft-schaferswessen-schafewaren-wohlgepflege-und-Sorgeltigkeit-beschutzen-von-angreifen-durch-Ihraubgierigfeinde-welche-vortern-Zwolftaussend-jahres-Voranderscheiner-Wandersteer-dem-Enschderraumschderraumschiff-gebrauchlicht-als-als-sein-von-Kraft-Kraft-von-Kraft这是一个非常成功的计划,因为它是一个非常聪明的计划geschopfs-von-hinzwischen-Sternartigramen,
前辈
如果您的输入字段被限制为最大字符数,不用担心,此人幸运地有一个简短的名字:
沃尔夫+585,高级
在这种情况下,您不应该忘记允许+
和585
作为有效的名称字符
正如其他人所指出的,这是一个棘手的问题,没有通用的解决方案。也许最好的方法是允许用户输入
$name = "Dr. James Watson";
// Define the set of allowed titles
$titles = 'dr|dr\.|prof|prof\.|sir';
// If the name is composed of two words separated by a space, assume this is
// first and last name
if (preg_match('/^([[:alpha:]]+) ([[:alpha:]]+)$/', $name, $matches)) {
$first_name = $matches[1];
$last_name = $matches[2];
}
// If there are more than two parts, check if the first part is the title
elseif (preg_match('/^(' . $titles . ')? ?([[:alpha:]]+) ([[:alpha:] ]+)$/i', $name, $matches)) {
$prefix = $matches[1];
$first_name = $matches[2];
$last_name = $matches[3];
}
else {
// Name cannot be parsed
}