将像McArthur或McMinn这样的名字中的第一和第三个字母大写

时间:2013-02-13 21:31:22

标签: c# asp.net css html5

有没有办法识别化合物名称并正确地将第一和第三个字符大写?

虽然使用CSS更改案例是一项微不足道的任务,但在处理复合名称时,我还没有找到任何直接的解决方案。

我想到的一件事是使用某种查找来识别LeBare,McDonalds,McArthur等名称,然后运用一些逻辑来改变案例...任何人都知道任何其他可行的解决方案可能在那里,所以我不必重新发明轮子(可以这么说)?

注意:用户将直接在文本框中输入这些名称。不能保证用户不会输入像mcMinn或macArthur等的东西。话虽如此,我也注意到带有“Le”和“La”前缀的名字(这些是拉丁语/西班牙语的名字也许,我可以但是错了。)

2 个答案:

答案 0 :(得分:0)

在这个过程中要记住的一件事是你也可以拥有“麦克阿瑟”的情况,它将成为第一和第四个角色。根据您从哪里提取数据(用户输入,数据库等),我会说使用它可能是一个选项。但是,如果名称以小写形式出现,那么您可能必须编译已知名称前缀的列表并对其进行检查。我的观点是,除非名称以小写形式出现并且将显示给用户,否则我将使用原始格式。

答案 1 :(得分:0)

你不能只使用CSS。有几个“刻字”jQuery插件,如http://letteringjs.com/。您可以根据jQuery中的名称设置自己的逻辑,并使用刻字库(如

)设置每个字母的样式
.target.char1, .target.char3 {
  text-transform:uppercase;
}