Ruby on rails 名称修正/验证?
我发现,用户在注册时通常会输入格式非常糟糕的名称。我从Paypal IPN和其他支付网关得到各种疯狂的格式,甚至从所有小写到所有大写,再到完全混乱 我用这些信息做的一件事就是发送电子邮件和问候,但是我不喜欢格式不好的名字。以前有没有人想过这一点,并想出了一个快乐的中间道路解决方案?例如,我意识到仅仅纠正看似错误的拼写是一种糟糕的形式,但至少纠正“合理的”是明智的,至少是大写。也许简单地将名字和姓氏字符串中每个不同“单词”的首字母上下颠倒就足够了Ruby on rails 名称修正/验证?,ruby-on-rails,ruby,ruby-on-rails-3,gem,Ruby On Rails,Ruby,Ruby On Rails 3,Gem,我发现,用户在注册时通常会输入格式非常糟糕的名称。我从Paypal IPN和其他支付网关得到各种疯狂的格式,甚至从所有小写到所有大写,再到完全混乱 我用这些信息做的一件事就是发送电子邮件和问候,但是我不喜欢格式不好的名字。以前有没有人想过这一点,并想出了一个快乐的中间道路解决方案?例如,我意识到仅仅纠正看似错误的拼写是一种糟糕的形式,但至少纠正“合理的”是明智的,至少是大写。也许简单地将名字和姓氏字符串中每个不同“单词”的首字母上下颠倒就足够了 还是有更好的方法?也许是一个关于“McBerry”
还是有更好的方法?也许是一个关于“McBerry”和“van Buuren”等常用名称大写的数据库?宝石还是这样的工具?只是有点好奇。也许把这么多的心思放在这个话题上是愚蠢的,但我真的希望在与用户交流时尽可能礼貌和专业,而不是像往常一样只使用格式不好的名称。你能做的最好的事情是将他们的名字/姓氏/中间名的第一个字母大写: “
bob”。大写=>“bob”
来自Ruby:
capitalize → new_str click to toggle source
Returns a copy of str with the first character converted to uppercase and the remainder to lowercase. Note: case conversion is effective only in ASCII region.
"hello".capitalize #=> "Hello"
"HELLO".capitalize #=> "Hello"
"123ABC".capitalize #=> "123abc"
您还可以使用downcase
将所有内容放平,然后大写
使其“正确”
例如:
fName = "jIMMY"
lName = "sMITH"
fName.downcase
lName.downcase
fName.capitalize
lNmae.capitalize
puts fName + lName => Jimmy Smith
然而,对于像VanBuuren
这样的名字,这可能会有点困难
这里有一个指向Ruby字符串的链接,其中有一些方法可以帮助您完成任务
正如我的姓所证明的,不会有完美的解决方案。有些人很幸运…是的,这已经是我的想法了。我只是希望能有一些更具洞察力或更多的报道。