मैंने वेब पर खोज की है, मेरी मदद करने के लिए कुछ भी नहीं पा सकता है। मैं एक चर के भीतर प्रत्येक शब्द ऊपरी मामले का पहला अक्षर बनाना चाहता हूं।
अब तक मैंने कोशिश की है:
toUpperCase();
और कोई भाग्य नहीं था, क्योंकि यह सभी पत्रों को ऊपर ले जाता है।
मैंने वेब पर खोज की है, मेरी मदद करने के लिए कुछ भी नहीं पा सकता है। मैं एक चर के भीतर प्रत्येक शब्द ऊपरी मामले का पहला अक्षर बनाना चाहता हूं।
अब तक मैंने कोशिश की है:
toUpperCase();
और कोई भाग्य नहीं था, क्योंकि यह सभी पत्रों को ऊपर ले जाता है।
जवाबों:
पूंजी पत्र के साथ एक शब्द शुरू करने वाले निचले अक्षरों को बदलने के लिए .replace[एमडीएन] फ़ंक्शन का उपयोग करें ।
var str = "hello world";
str = str.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
alert(str); //Displays "Hello World"
संपादित करें: यदि आप सिर्फ az के अलावा शब्द वर्णों के साथ काम कर रहे हैं, तो निम्नलिखित (अधिक जटिल) नियमित अभिव्यक्ति आपके उद्देश्यों के लिए बेहतर हो सकती है।
var str = "петр данилович björn über ñaque αλφα";
str = str.toLowerCase().replace(/^[\u00C0-\u1FFF\u2C00-\uD7FF\w]|\s[\u00C0-\u1FFF\u2C00-\uD7FF\w]/g, function(letter) {
return letter.toUpperCase();
});
alert(str); //Displays "Петр Данилович Björn Über Ñaque Αλφα"
Björn Lüchinger, यह बन जाता है BjöRn LüChinger। इसके लिए कोई फिक्स?
str[0].toUpperCase() + str.slice(1)
var first = str.slice(0, str.indexOf(' ')); str = first.toLowerCase().replace(/^[\u00C0-\u1FFF\u2C00-\uD7FF\w]|\s[\u00C0-\u1FFF\u2C00-\uD7FF\w]/g, function(letter) { return letter.toUpperCase(); }) + str.substr(first.length);विशेष पात्रों को कवर करने के लिए उपयोग करना समाप्त कर दिया।
बहुत आसान तरीका:
$('#test').css('textTransform', 'capitalize');
मुझे सही रास्ते पर ले जाने के लिए @ क्रेडिट को कुछ श्रेय देना होगा। आप लोग जो भी प्रस्ताव दे रहे हैं, उससे कहीं ज्यादा सरल।
text-transform:capitalizeसभी CAPS को प्रभावित नहीं करेगा।
http://phpjs.org/functions/ucwords/69 का एक अच्छा उदाहरण है
function ucwords (str) {
return (str + '').replace(/^([a-z])|\s+([a-z])/g, function ($1) {
return $1.toUpperCase();
});
}
(संक्षिप्तता के लिए स्रोत से टिप्पणी छोड़ दी गई टिप्पणी। कृपया विवरण के लिए लिंक किए गए स्रोत देखें)
संपादित करें: कृपया ध्यान दें कि यह फ़ंक्शन प्रत्येक शब्द के पहले अक्षर को इंगित करता है (जैसा कि आपका प्रश्न पूछता है) और न केवल एक स्ट्रिंग का पहला अक्षर (जैसा कि आपका प्रश्न शीर्षक पूछता है)
बस एक शुद्ध जावास्क्रिप्ट समाधान (कोई JQuery) जोड़ना चाहता था
function capitalize(str) {
strVal = '';
str = str.split(' ');
for (var chr = 0; chr < str.length; chr++) {
strVal += str[chr].substring(0, 1).toUpperCase() + str[chr].substring(1, str[chr].length) + ' '
}
return strVal
}
console.log(capitalize('hello world'));
c < str.length;होना चाहिएchr < str.length;
मुझे लगता है कि आप पहले चरित्र को बाहर निकालने के लिए () और toUpperCase () का उपयोग कर सकते हैं, इसे अपरकेस कर सकते हैं, और फिर परिणाम के साथ अपने स्ट्रिंग के पहले चरित्र को बदल सकते हैं।
myString = "cheeseburger";
firstChar = myString.substring( 0, 1 ); // == "c"
firstChar.toUpperCase();
tail = myString.substring( 1 ); // == "heeseburger"
myString = firstChar + tail; // myString == "Cheeseburger"
मुझे लगता है कि आपको काम करना चाहिए। एक और बात पर विचार करना है कि अगर यह डेटा प्रदर्शित किया जा रहा है, तो आप अपने कंटेनर में एक वर्ग जोड़ सकते हैं जिसमें CSS गुण "टेक्स्ट-ट्रांसफॉर्मेशन: कैपिटलाइज़" हो।
यदि आप उपयोग करने जा रहे हैं तो ऐसा करने के लिए, आपको वास्तव में जावास्क्रिप्ट की भी आवश्यकता नहीं है
$('#test').css('textTransform', 'capitalize');
ऐसा क्यों नहीं जैसे css
#test,h1,h2,h3 { text-transform: capitalize; }
या इसे एक कक्षा के रूप में करें और जहाँ भी आपको आवश्यकता हो, उस कक्षा को लागू करें
.ucwords { text-transform: capitalize; }
कभी सुना है substr()?
एक स्टार्टर के लिए:
$("#test").text($("#test").text().substr(0,1).toUpperCase()+$("#test").text().substr(1,$("#test").text().length));
[अपडेट करें:]
टिप के लिए @FelixKling का धन्यवाद :
$("#test").text(function(i, text) {
return text.substr(0,1).toUpperCase() + text.substr(1);
});
text() चार बार बुलाने के बजाय , एक फंक्शन पास करें text():$("#test").text(function(i, text) { return text.substr(0,1).toUpperCase()+text.substr(1);});
$('#test').style.textTransform='capitalize';
$('#test').css('textTransform', 'capitalize'); BTW, यह यहाँ का सबसे अच्छा जवाब है। मैं इसे एक उत्तर के रूप में प्रस्तुत करूँगा।
document.getElementById('test').style.textTransform='capitalize';
@ पीटर-ऑल्सन के उत्तर पर बिल्डिंग, मैंने jQuery के बिना एक अधिक वस्तु उन्मुख दृष्टिकोण लिया:
String.prototype.ucwords = function() {
return this.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
});
}
alert("hello world".ucwords()); //Displays "Hello World"
उदाहरण: http://jsfiddle.net/LzaYH/1/
toUpperCaseWordsजावास्क्रिप्ट toUpperCase()औरtoLowerCase()
var mystring = "hello World"
mystring = mystring.substring(0,1).toUpperCase() +
mystring.substring(1,mystring.length)
console.log(mystring) //gives you Hello World
सबसे सरल तरीका
let str="hiren raiyani"
str.toLowerCase().replace(/(?<= )[^\s]|^./g, a => a.toUpperCase());
उपयोगकर्ता-परिभाषित फ़ंक्शन:
function capitalize(str){
return str.toLowerCase().replace(/(?<= )[^\s]|^./g, a => a.toUpperCase());
}
आउटपुट: हिरेन रयानी
अपने उपयोगकर्ता-परिभाषित फ़ंक्शन या प्रत्यक्ष के रूप में कोड का उपयोग करें
आप इस सरल कोड को PHP में ucwords की सुविधाओं के साथ आज़मा सकते हैं।
function ucWords(text) {
return text.split(' ').map((txt) => (txt.substring(0, 1).toUpperCase() + txt.substring(1, txt.length))).join(' ');
}
ucWords('hello WORLD');
यह ऊपरी मामलों को अपरिवर्तित रखेगा।
पूरी तरह से @Dementric के उत्तर के आधार पर, यह समाधान एक सरल jQuery विधि, 'ucwords' के साथ कॉल करने के लिए तैयार है ... यहाँ योगदान करने वाले सभी का धन्यवाद !!!
$.extend({
ucwords : function(str) {
strVal = '';
str = str.split(' ');
for (var chr = 0; chr < str.length; chr++) {
strVal += str[chr].substring(0, 1).toUpperCase() + str[chr].substring(1, str[chr].length) + ' '
}
return strVal
}
});
उदाहरण: इसे विधि का उपयोग करके कहा जा सकता है
var string = "this is a test";
string = $.ucwords(string); // Returns "This Is A Test"
आप text-transform: capitalize;इस काम के लिए उपयोग कर सकते हैं -
HTML -
<input type="text" style="text-transform: capitalize;" />
JQuery -
$(document).ready(function (){
var asdf = "WERTY UIOP";
$('input').val(asdf.toLowerCase());
});
नोट: यह केवल स्ट्रिंग का दृश्य प्रतिनिधित्व बदल रहा है। यदि आप इस स्ट्रिंग को सचेत करते हैं तो यह हमेशा स्ट्रिंग का मूल मान दिखाती है।
पहले अक्षर को कैपिटल करने से पहले स्ट्रिंग को कम करना।
(दोनों का उपयोग Jquery सिंटैक्स)
function CapitaliseFirstLetter(elementId) {
var txt = $("#" + elementId).val().toLowerCase();
$("#" + elementId).val(txt.replace(/^(.)|\s(.)/g, function($1) {
return $1.toUpperCase(); }));
}
WHOLE स्ट्रिंग को कैपिटल करने के लिए एक फ़ंक्शन के अलावा:
function CapitaliseAllText(elementId) {
var txt = $("#" + elementId).val();
$("#" + elementId).val(txt.toUpperCase());
}
पाठ बॉक्स पर क्लिक करने के लिए सिंटैक्स का उपयोग करें:
onClick="CapitaliseFirstLetter('TextId'); return false"
मैंने इस कोड का उपयोग किया है -
function ucword(str){
str = str.toLowerCase().replace(/(^([a-zA-Z\p{M}]))|([ -][a-zA-Z\p{M}])/g, function(replace_latter) {
return replace_latter.toUpperCase();
}); //Can use also /\b[a-z]/g
return str; //First letter capital in each word
}
var uc = ucword("good morning. how are you?");
alert(uc);
एचटीएमएल:
<input class="capitalize" name="Address" type="text" value="" />
JQuery के साथ जावास्क्रिप्ट:
$(".capitalize").bind("keyup change", function (e) {
if ($(this).val().length == 1)
$(this).val($(this).val().toUpperCase());
$(this).val($(this).val().toLowerCase().replace(/\s[\p{L}a-z]/g, function (letter) {
return letter.toUpperCase();
}))
});
बिना JQuery के
String.prototype.ucwords = function() {
str = this.trim();
return str.replace(/(^([a-zA-Z\p{M}]))|([ -][a-zA-Z\p{M}])/g, function(s){
return s.toUpperCase();
});
};
console.log('hello world'.ucwords()); // Display Hello World
var str = "HELLO WORLD HELLO WORLD HELLO WORLD HELLO WORLD";
str = str.replace(
/([A-Z])([A-Z]+)/g,
function (a, w1, w2) {
return w1 + w2.toLowerCase();
});
alert(str);
यहाँ यूनिकोड-सुरक्षित यूकोड () फ़ंक्शन है, जो अतिरिक्त रूप से रूसी Расс-Ранцев जैसे दोहरे-अंतिम नामों का सम्मान करता है और कुछ महान नाम जैसे Honoré de Balzac, d'Artagnan, Vinn van Gogh, Otto von Bismarck, Sulaymān ibn Dāwūd आदि।
String.prototype.ucwords = function() {
return this.toLowerCase()
.replace(/(^|\s|\-)[^\s$]/g, function(m) {
return m.toUpperCase();
})
// French, Arabic and some noble names...
.replace(/\s(Of|De|Van|Von|Ibn|Из|Ван|Фон|Ибн)\s/g, function(m) { // Honoré de Balzac, Vincent van Gogh, Otto von Bismarck, Sulaymān ibn Dāwūd etc.
return m.toLowerCase();
})
.replace(/(^|\s)(D|Д)(['’][^\s$])/g, function(m, p1, p2, p3) { // D'Artagnan or d'Artagnan / Д’Артаньян или д’Артаньян
return p1 + (p1 === "" ? p2/*.toUpperCase()*/ : p2.toLowerCase()) + p3.toUpperCase();
});
}
जेएस में पहला पत्र अपरकेस करने के लिए सबसे आसान तरीका है
var string = "made in india";
string =string .toLowerCase().replace(/\b[a-z]/g, function(letter){return letter.toUpperCase();});
alert(string );
परिणाम: "मेड इन इंडिया"