Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 名称修正/验证?_Ruby On Rails_Ruby_Ruby On Rails 3_Gem - Fatal编程技术网

Ruby on rails 名称修正/验证?

Ruby on rails 名称修正/验证?,ruby-on-rails,ruby,ruby-on-rails-3,gem,Ruby On Rails,Ruby,Ruby On Rails 3,Gem,我发现,用户在注册时通常会输入格式非常糟糕的名称。我从Paypal IPN和其他支付网关得到各种疯狂的格式,甚至从所有小写到所有大写,再到完全混乱 我用这些信息做的一件事就是发送电子邮件和问候,但是我不喜欢格式不好的名字。以前有没有人想过这一点,并想出了一个快乐的中间道路解决方案?例如,我意识到仅仅纠正看似错误的拼写是一种糟糕的形式,但至少纠正“合理的”是明智的,至少是大写。也许简单地将名字和姓氏字符串中每个不同“单词”的首字母上下颠倒就足够了 还是有更好的方法?也许是一个关于“McBerry”

我发现,用户在注册时通常会输入格式非常糟糕的名称。我从Paypal IPN和其他支付网关得到各种疯狂的格式,甚至从所有小写到所有大写,再到完全混乱

我用这些信息做的一件事就是发送电子邮件和问候,但是我不喜欢格式不好的名字。以前有没有人想过这一点,并想出了一个快乐的中间道路解决方案?例如,我意识到仅仅纠正看似错误的拼写是一种糟糕的形式,但至少纠正“合理的”是明智的,至少是大写。也许简单地将名字和姓氏字符串中每个不同“单词”的首字母上下颠倒就足够了


还是有更好的方法?也许是一个关于“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字符串的链接,其中有一些方法可以帮助您完成任务


正如我的姓所证明的,不会有完美的解决方案。有些人很幸运…是的,这已经是我的想法了。我只是希望能有一些更具洞察力或更多的报道。