1

我有一个用户输入信息的表单,然后这些信息会在网站上公开显示。由于我不能相信用户正确输入信息,我使用 javascript 来纠正他们的错误。例如,其中一个字段要求您按以下格式(正确大小写)输入人名:名字

我正在使用以下函数将他们的输入转换为标题/原写:

var firstname = [the value the person entered on the form as the first name]
function toTitleCase(str) { return str.replace(/wS*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});}
toTitleCase(firstname);

我遇到的一个问题是,当人们故意尝试在同一字段中使用一系列全部大写的字母时,例如 CFO 或 CPA(或其他一些需要全部大写的首字母缩写词)。例如,如果他们输入:“first name CPA”,javascript 函数会将其转换为“First Name Cpa”,这几乎是正确的……但 CPA 需要保持全部大写。

这对我来说是一个脑筋急转弯,因为我无法找到解决方案。有什么帮助吗?无论解决方案是什么,它绝对必须是一个 javascript 解决方案,如果你能想出一个的话。

4

1 回答 1

0

不幸的是,这可能是不可能的。唯一可行的解​​决方案是列出应具有特定大小写设置的单词/短语。但也很难捕捉到像麦当劳这样永无止境的名字。因此,最好不要尝试修复条目或简单地手动查看条目。

于 2013-01-09T06:35:17.703 回答