【发布时间】:2014-01-18 04:43:41
【问题描述】:
我想检查用户是否输入了接近有效名称的内容。因此,如果输入了gbcvcvrt 之类的内容,我想对其进行验证并将其标记为非真实姓名。 theg+vowel 之类的东西应该被验证为正确的名称。
在任何长度的字符串上,代码都应该检测到四个连续的非元音字母。 顺便说一句,我不希望任何人的名字是节奏
考虑
$String = 'therhythm';
我们无法检查前四个字符,我们必须遍历整个字符串并检查四个任意四个连续的非元音字母,无论它们位于字符串的哪个位置。这样我们可以验证 $String 无效,即使如果我们检查前四个字母,前五个字符也会验证它。
- 也不应包含 3 个连续的元音,
- 不应包含数字,
- 非字母字符
【问题讨论】:
-
所以
gbcvacvrt有效吗?元音如何验证名称?很难区分什么是“有效”和什么不是,除非你在后面使用某种字典 -
我很高兴我的典型 asdfasdf 通过
-
Merckx 和 Schnell 是实际姓氏。 Bauer 和 Aoe 同上。这只是我的想法;实际研究应该会带来更多反例。
-
这个问题似乎离题了,因为试图以任何方式验证人们的名字听起来都是个糟糕的主意。
-
@deceze +1;另见kalzumeus.com/2010/06/17/…
标签: php regex char preg-replace preg-match