【发布时间】:2011-07-21 11:57:06
【问题描述】:
你好 我正在尝试弄清楚如何转换
这就是我的蛞蝓
到:
这是我的蛞蝓
在 Jquery 中?!
我知道 PHP 在这方面很棒,但 jQuery 可能不是?
【问题讨论】:
-
您需要将最终文本实际大写还是仅在网页上显示为大写?
你好 我正在尝试弄清楚如何转换
这就是我的蛞蝓
到:
这是我的蛞蝓
在 Jquery 中?!
我知道 PHP 在这方面很棒,但 jQuery 可能不是?
【问题讨论】:
这应该会为您完成:(这是一个简单的先前示例)
var str = "this-is-my-slug";
str = str.toLowerCase().replace(/-/,' ').replace(/\b[a-z]/g, convert);
function convert() {
return arguments[0].toUpperCase();
}
这里是函数形式——整个单词和单个单词的转换:
//Converts and Formats entire string
function Convert(test)
{
var formatted = test.toLowerCase().replace(/-/g,' ');
var array = test.split(" ");
var output = "";
for (i=0;i<array.length;i++)
{
output += ConvertString(array[i]);
}
return output;
}
//Formats individual words
function ConvertString(string)
{
var str = string;
str = str.toLowerCase().replace(/-/g,' ').replace(/\b[a-z]/g, convert);
function convert() {
return arguments[0].toUpperCase();
}
return str;
}
【讨论】:
将 jQuery 与 PHP 进行比较并不是一个特别公平的比较,但我不会深入讨论,而是直接将您引向 this 问题。它正在执行相反的操作,但您可能会从中获得一些帮助来解决您的问题。
【讨论】:
好的,这 100% 有效:
var string = "this-is-a-slug";
convert = string.replace(/-/g," ");
function ucwords (str) {
// http://kevin.vanzonneveld.net
// + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
// + improved by: Waldo Malqui Silva
// + bugfixed by: Onno Marsman
// + improved by: Robin
// + input by: James (http://www.james-bell.co.uk/)
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// * example 1: ucwords('kevin van zonneveld');
// * returns 1: 'Kevin Van Zonneveld'
// * example 2: ucwords('HELLO WORLD');
// * returns 2: 'HELLO WORLD'
return (str + '').replace(/^([a-z])|\s+([a-z])/g, function ($1) {
return $1.toUpperCase();
});
}
var result = ucwords(convert)
$("div").text(result);
<div>my new string will output here</div>
【讨论】: