カスタムHTML5データはこの1つのような属性を持つ私はリンクのセットを持っているに属性。ターンcamelCaseWordsは「キャメルケース言葉」
私が作成したthis jsfiddleを編集すること自由に感じなさい。このような
カスタムHTML5データはこの1つのような属性を持つ私はリンクのセットを持っているに属性。ターンcamelCaseWordsは「キャメルケース言葉」
私が作成したthis jsfiddleを編集すること自由に感じなさい。このような
$('a').click(function() {
var str = $(this).data('test'); // get the concated string
var arr = str.split(""); // Convert the string to array
for (var i = arr.length - 1; i >= 0; i--) { // iterate over the characters
if (arr[i].match(/[A-Z]/)) // if the char is uppercase
arr.splice(i, 0, " "); // add a space before it
}
arr[0] = arr[0].toUpperCase(); // upper the first char.
var splitedString = arr.join(""); // convert the array to string
alert(splitedString); // alert the string.
});
何か?
$('a').click(function(){
var input = $(this).data('test'),
output = input.slice(0, 1).toUpperCase() + input.slice(1).replace(/[A-Z][a-z]/, ' $&');
alert(output);
});
きちんとした文字列にキャメル・ケースを変換するための一般的な機能を記述した方がよいかもしれませんが、ここでは作業上の例のデモがあります:http://jsfiddle.net/rjzaworski/mFbHK/
がここに短いのですが、 、簡易版:また
$('a').click(function(){
var t = $(this).data('test');
alert(t.replace(/^[a-z]|[a-z][A-Z]/g, function(s){
return s.length==1 ? s.toUpperCase() : s.replace(/^./,'$& ');
});
});
、より多くの再利用可能な機能も自己文書にあなたの意思包ま:
を$('a').click(function(){
alert(deCamel($(this).data('test')));
});
function deCamel(str){
return str.replace(/^[a-z]|[a-z][A-Z]/g, function(s){
return s.length==1 ? s.toUpperCase() : s.replace(/^./,'$& ');
});
}
正規表現の代わりに '$&'を使用することで、不要なグループ分けを取り除くことができます。また、(元々は不適切だったが)この回答は "rocketsByACME"を "Rockets By A C M E"に変えるだろう。 – Phrogz