2012-07-06 5 views
5

जब तक यह मेरे पृष्ठ का शीर्षक है:शीर्षक पृष्ठ में शब्द कैपिटल में हाइफन

<title>john smith - Site and site - jobs</title> 

मैं पहली बार hifen जब तक पृष्ठ का शीर्षक भुनाने के लिए है (-)। यह मेरा कोड है, लेकिन दूसरा भाग और पहला हाइफ़न खो गया।

function toTitleCase(str){ 
    var str = document.title; 
    subTitle = str.split('-')[0]; 
    return str.substring(0,str.indexOf('-')).replace(/\w\S*/g, function(txt){ 
     return txt.charAt(0).toUpperCase() + txt.substring(1); 
    }); 
} 
document.title = toTitleCase(document.title); 
+1

क्यों समारोह के लिए _str_ पैरामीटर गुजर आप इसे अधिलेखित अगर वैसे भी आपके समारोह के लाइन 1 में? – Chris

+1

@roybatty आपके लिए सही आउटपुट क्या है-> 'जॉन स्मिथ', या 'जॉन स्मिथ'? 'पूंजीकरण' 'से आपका क्या मतलब है? – Engineer

+0

पूंजीकरण का मतलब सामान्य रूप से पहला अक्षर है, सभी नहीं, जो समझ है कि मैंने अपना जवाब आधारित किया है, इसलिए मुझे उम्मीद है कि इसका मतलब यह है कि उसका मतलब – Utkanos

उत्तर

1
function toTitleCase(str){ 
    str = str.split('-'); 
    str[0]=str[0].replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();}); 
    return str.join("-"); 
    } 
document.title = toTitleCase(document.title); 
+0

आप जॉन स्मिथ ', जॉन स्मिथ' – Engineer

+0

नहीं देखेंगे टिप्पणी –

+0

और उसका प्रश्न दूसरे भाग के बारे में था – epoch

0

सारांश जवाब नमक की + मेरे अनाज "का सबसे अच्छा":

String.prototype.capitalize = function() { 
    return this.replace(/\b[a-z]/g, function ($0) { return $0.toUpperCase(); }); 
}; 

function capitalizeTitle() 
{ 
    document.title = document.title.replace(/^[^\-]*/, function($0) { 
    return $0.capitalize(); 
    }); 
} 

capitalizeTitle(); 
1

हमेशा एक परमाणु REGEX मार्ग में फेंक करने के लिए अच्छा ...

var str = "some words - are - here"; 
console.log("this is - a - string".replace(/^[^\-]*/, function($0) { 
    return $0.replace(/\b[a-z]/g, function($0) { return $0.toUpperCase(); }); 
})); 

आउटपुट:

"Some Words - are - here" 
+0

नाइस के दाईं ओर चेक मार्क पर क्लिक करना न भूलें। हालांकि '/^[^ \ -] */g' पहले regexp के लिए पर्याप्त प्रतीत होता है। –

+0

आह हाँ, ज़ाहिर है। मैंने पिछली कोशिश से गलती से आगे की तरफ देखा। सर उठाने के लिए धन्यवाद। – Utkanos

0

यह कोड आपकी मदद करेगा। http://jsfiddle.net/LK3Vd/

lemme पता है कि मैं कुछ भी याद किया:

function toTitleCase(str) { 
     subTitle = str.split('-')[0].capitalize(); 
     return subTitle + str.substring(subTitle.length); 
    } 

    String.prototype.capitalize = function() { 
     return this.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); 
    } 
0

अरे यह तो कृपया प्रयास करें।

आशा इस मदद करता है :)

कोड

var str = $('#foo').html(); 
str = str.substring(0, str.indexOf('-')); 

str = str.toLowerCase().replace(/\b[a-z]/g, function(letter) { 
    return letter.toUpperCase(); 
}); 
0

यह मदद कर सकता है ..

function ok() 
{ 
    var str = document.title; 
    document.title=str.substring(0, str.indexOf('-')).toUpperCase()+str.substring(str.indexOf('-'),str.length); 

}