我有一个用户输入信息的表单,然后这些信息会在网站上公开显示。由于我不能相信用户正确输入信息,我使用 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 解决方案,如果你能想出一个的话。