如何将每个单词的首字母大写,如2个字的城市?
我的JS很好,当城市有一个字:
- 芝加哥==芝加哥
但是,当它
- 圣地亚哥==>圣地亚哥
我如何使它成为圣地亚哥?
function convert_case() { document.profile_form.city.value = document.profile_form.city.value.substr(0,1).toUpperCase() + document.profile_form.city.value.substr(1).toLowerCase(); }
这里有一个很好的答案:
function toTitleCase(str) { return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); }
你可以使用CSS:
p.capitalize {text-transform:capitalize;}
function convert_case(str) { var lower = str.toLowerCase(); return lower.replace(/(^| )(\w)/g, function(x) { return x.toUpperCase(); }); }
JavaScriptfunction:
String.prototype.capitalize = function(){ return this.replace( /(^|\s)([az])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } ); };
要使用这个function:
capitalizedString = someString.toLowerCase().capitalize();
此外,这将工作在多个string。
为了确保转换后的城市名称被注入到数据库中,小写和首字母大写,那么在将其发送到服务器端之前,您需要使用JavaScript。 CSS简单的样式,但实际的数据将保持预定义。 看看这个jsfiddle的例子,并比较警报消息与风格的输出。