জাভাস্ক্রিপ্ট স্ট্রিং সব নিম্ন ক্ষেত্রে হতে রূপান্তর?


1289

আমি কীভাবে জাভাস্ক্রিপ্টের স্ট্রিংয়ের মানটি সমস্ত ছোট হাতের অক্ষরে রূপান্তর করতে পারি?

উদাহরণ: "আপনার নাম" থেকে "আপনার নাম"

উত্তর:


1680
var lowerCaseName = "Your Name".toLowerCase();

27
এটিকেও বিবেচনা করুন, "টুলওয়ারকেস স্ট্রিংয়ের স্ট্রিংয়ের মানকে প্রভাবিত করে না"। এটি এখানে একটি ডকুমেন্টেশনের ভিত্তিতে রয়েছে বিকাশকারী.মোজিলা.আর.ইন-
ইউএস / ডকস / ওয়েব / জাভাস্ক্রিপ্ট / রেফারেন্স/…

toLowerCase()ফাংশনের সময় এবং স্থান জটিলতা কী?
রমজান চ্যাসিগোভ

7
@ রমজানচ্যাসিগোভ এটি জাভাস্ক্রিপ্টে পুনর্নির্মাণের চেয়ে ও (এন) এবং উভয়ই দ্রুত, যদি না আপনার কাছে খুব বুদ্ধিমান বোকা দ্বারা প্রোগ্রাম করা কোনও জাভাস্ক্রিপ্ট ইঞ্জিন না থাকে।
wizzwizz4

1
toLowerCase()ভেরিয়েবলগুলি আহ্বান করার একটি নিরাপদ উপায় হ'ল (varName || '').toLowerCase();
দিনেশ পান্ডিয়ান

412

স্ট্রিং অবজেক্টের টললওয়ারকেস বা টু লোকাললওয়ারকেস পদ্ধতিগুলি ব্যবহার করুন । পার্থক্যটি হ'ল ব্যবহারকারীর / হোস্টের বর্তমান স্থানীয় অবস্থান বিবেচনায় নেবে। ECMAScript ভাষা নির্দিষ্টকরণের (ECMA-262) এর 15.5.4.17 ডলার অনুসারে , …toLocaleLowerCasetoLocaleLowerCase

… টোলাওয়ারকেসের মতো ঠিক একইভাবে কাজ করে কেবল তার ফলাফলটি লোকেল-স্বতন্ত্র ফলাফলের পরিবর্তে হোস্ট পরিবেশের বর্তমান লোকেলের জন্য সঠিক ফলাফল অর্জনের উদ্দেশ্যে। কেবলমাত্র কয়েকটি ক্ষেত্রেই (যেমন তুর্কি) পার্থক্য থাকবে যেখানে সেই ভাষার নিয়মগুলি নিয়মিত ইউনিকোড কেস ম্যাপিংয়ের সাথে দ্বন্দ্ব করে।

উদাহরণ:

var lower = 'Your Name'.toLowerCase();

এছাড়াও নোট করুন যে toLowerCaseএবং toLocaleLowerCaseকোনও ফাংশনগুলি কোনও মান ধরণের ক্ষেত্রে উদারভাবে কাজ করতে প্রয়োগ করা হয়। অতএব আপনি এমনকি অ- Stringঅবজেক্টগুলিতে এই ফাংশনগুলি চালিত করতে পারেন । এটি করার ফলে ফলাফলের স্ট্রিংয়ের মান প্রতিটি অক্ষরের কেস পরিবর্তন করার আগে একটি স্ট্রিং মানটিতে স্বয়ংক্রিয় রূপান্তর বোঝানো হবে। উদাহরণস্বরূপ, আপনি সরাসরি এই জাতীয় তারিখে আবেদন করতে পারেনtoLowerCase :

var lower = String.prototype.toLowerCase.apply(new Date());

এবং যা কার্যকরভাবে সমান:

var lower = new Date().toString().toLowerCase();

দ্বিতীয় রূপটি তার সরলতা এবং পাঠযোগ্যতার জন্য সাধারণত পছন্দ করা হয়। আইই এর পূর্ববর্তী সংস্করণগুলিতে, প্রথমটির সুবিধা ছিল যে এটি কোনও nullমান সহ কাজ করতে পারে । প্রয়োগ toLowerCaseবা toLocaleLowerCaseঅন ফলাফলের ফলাফল nullহবে null(এবং ত্রুটির শর্ত নয়)।


22
+1, এই উত্তরটি গ্রহণযোগ্য উত্তরের চেয়ে বেশি ভোটের দাবিদার যা কোনও কিছুই ব্যাখ্যা করে না, আমি এর অর্থ করছি
ফ্রেডেরিক.এল

String.prototype.toLowerCase.apply(null)ফিরে আসার অংশটি nullসঠিক বলে মনে হচ্ছে না। এটি TypeErrorচেষ্টা করার সময় এটি একটি ব্যতিক্রম ছুঁড়ে দেয় ।
জনিএইচকে

2
@ জননিএইচকে আপনি ঠিক বলেছেন আইটি এর পূর্ববর্তী সংস্করণগুলিতে এই বিটটি সত্য বলে ধরেছিল যেখানে উত্তরটি পোস্ট করার সময় এটি পরীক্ষা করা হয়েছিল। আমি আপনার প্রতিক্রিয়া প্রতিফলিত উত্তর আপডেট করেছি। ধন্যবাদ।
আতিফ আজিজ

29

হ্যাঁ, জাভাস্ক্রিপ্টের toLowerCase()যে কোনও স্ট্রিংয়ের একটি পদ্ধতি রয়েছে যা একটি নতুন স্ট্রিং ফেরত দেবে যা সমস্ত নিম্ন ক্ষেত্রেই পুরানো স্ট্রিং। পুরানো স্ট্রিং অপরিবর্তিত থাকবে।

সুতরাং, আপনি যেমন কিছু করতে পারেন:

"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();

20

toLocaleUpperCase () বা লোয়ার কেস ফাংশনগুলি তাদের মতো আচরণ করে না।

উদাহরণস্বরূপ আমার সিস্টেমে, সাফারি 4, ক্রোম 4 বিটা, ফায়ারফক্স 3.5.x এটি তুরস্কের অক্ষরের সাথে স্ট্রিংগুলিকে ভুলভাবে রূপান্তরিত করে।

ব্রাউজারগুলি যথাক্রমে ন্যাভিগেটর.এলংগ্রেজকে "এন-ইউএস", "ট্র", "এন-ইউএস" হিসাবে সাড়া দেয়।

তবে ব্রাউজারে যতদূর আমি খুঁজে পেলাম ব্যবহারকারীর গ্রহণ-ল্যাং সেটিং পাওয়ার কোনও উপায় নেই।

আমি প্রতিটি ব্রাউজারকে টিআর-টিআর লোকাল পছন্দ হিসাবে কনফিগার করেছি তবে কেবল ক্রোমই আমাকে সমস্যা দেয়।

আমি মনে করি এই সেটিংসটি কেবলমাত্র HTTP শিরোনামকেই প্রভাবিত করে, তবে আমরা জেএসের মাধ্যমে এই সেটিংসে অ্যাক্সেস করতে পারি না।

মধ্যে মোজিলা ডকুমেন্টেশন তাদের মতে "একটি স্ট্রিং মধ্যে অক্ষর রূপান্তরিত হয় ... যখন বর্তমান লোকেল সম্মান।

বেশিরভাগ ভাষার ক্ষেত্রে এটি "... এর মতোই ফিরে আসবে।

আমি মনে করি এটি তুর্কিদের জন্য বৈধ, এটি en বা tr হিসাবে কনফিগার করা আলাদা নয়।

তুর্কি ভাষায় এটি "DİNÇ" কে "dinç" এবং "DINÇ" "dınç" বা তদ্বিপরীত রূপান্তরিত করা উচিত।


Accept-Languageএবং navigator.languageদুটি সম্পূর্ণ পৃথক সেটিংস। Accept-Languageওয়েব পৃষ্ঠাগুলিতে তারা কোন ভাষাগুলি গ্রহণ করতে চায় তার ব্যবহারকারীর পছন্দসই পছন্দগুলি প্রতিফলিত করে (এবং এই সেটিংটি জেএসের কাছে দুর্ভাগ্যক্রমে অ্যাক্সেসযোগ্য)। navigator.languageকেবলমাত্র প্রতিফলিত করে যে ওয়েব ব্রাউজারটির কোন স্থানীয়করণ ইনস্টল করা হয়েছিল এবং সাধারণত কোনও কিছুর জন্য ব্যবহার করা উচিত নয়। এই উভয় মান সিস্টেম লোকেলের সাথে সম্পর্কিত নয়, যা কিছু toLocaleLowerCase()করবে তা স্থির করে; এটি ব্রাউজারের প্রিফেসগুলির সুযোগের বাইরে একটি ওএস-স্তরের সেটিং।
বোবিনস

আমি ভেবেছিলাম গ্রহণ-ভাষা এবং নেভিগেটর। ভাষাবিগ্রহটি কোনওভাবেই সম্পর্কিত হওয়া উচিত। আপনি ব্রাউজারগুলির সেটিংস স্ক্রিনগুলির মাধ্যমে ডিফল্ট ভাষাটি কনফিগার করতে পারেন, তবে আপনি কী নেভিগেটর করতে পারেন কনফিগার করতে পারবেন না lang ভাষায় প্রতিক্রিয়া জানানো উচিত। আমি মনে করি লোভারক্যাসে ফাংশনের আর একটি ফর্ম থাকা উচিত যা লোকেল প্যারামিটার পায় gets
সানিলুনলু

হ্যাঁ, সত্যিই উচিত। দুর্ভাগ্যক্রমে জাভাস্ক্রিপ্টে স্থানীয় সম্পর্কিত বৈশিষ্ট্যগুলি দুর্বল, দুর্বল-নির্দিষ্ট এবং সাধারণত অবিশ্বস্ত।
ববিনস

15

শুধু একটি উদাহরণ toLowerCase(), toUpperCase()এবং এখনও পাওয়া যায় না জন্য প্রোটোটাইপ toTitleCase()বাtoPropperCase()

String.prototype.toTitleCase = function() {
  return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}

String.prototype.toPropperCase = function() {
  return this.toTitleCase();
}

var OriginalCase = 'Your Name';
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();

console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);

সম্পাদিত 2018


1
toPropperCaseহওয়া উচিতtoProperCase
আয়ান

-1 এই কোডটি ASCII বিহীন সমস্ত কিছুতে ত্রুটির ঝুঁকিতে রয়েছে। উদাহরণস্বরূপ, জার্মান ইনপুট "ডাই স্ট্রেই" দিয়ে আপনি শিরোনামের ক্ষেত্রে "ডাই স্ট্রেস" পাবেন। সঠিক হবে "ডাই স্ট্রে"। তা ছাড়া প্রোটোটাইপ দূষণকে আজকাল নষ্ট করা হচ্ছে।
কমফ্রিচ

13

আমি মনোযোগ যে মানুষ প্রচুর আছে payed খুঁজছেন জন্যstrtolower() জাভাস্ক্রিপ্ট হবে। তারা অন্যান্য ভাষার মতো একই ফাংশনটির নাম প্রত্যাশা করছে, এই কারণেই এই পোস্টটি এখানে।

আমি নেটিভ জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করার পরামর্শ দেব

"SomE StriNg".toLowerCase()

এখানে এমন ফাংশন যা পিএইচপি-র একের মতোই আচরণ করে (যারা পিএইচপি কোডটি জেএসে পোর্ট করছেন) তাদের জন্য

function strToLower (str) {
    return String(str).toLowerCase();
}

কিসের + ''জন্য?
আপক্রিক

8

মনে রাখবেন যে ফাংশনটি কেবলমাত্র STRING টি সামগ্রীতে কাজ করবে।

উদাহরণস্বরূপ, আমি একটি প্লাগইন গ্রাস করছিলাম এবং কেন আমি "এক্সটেনশন.টোলওয়ারকেসেস কোনও ফাংশন নয়" জেএস ত্রুটি পেয়ে যাচ্ছি তা নিয়ে বিভ্রান্ত হয়ে পড়েছিলাম।

 onChange: function(file, extension)
    {
      alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");

যা ত্রুটিটি তৈরি করেছিল "এক্সটেনশন। টুওয়ারওয়ারকেস কোনও ফাংশন নয়" তাই আমি কোডটির এই টুকরোটি চেষ্টা করেছিলাম, যা সমস্যা প্রকাশ করেছে!

alert("(typeof extension)=>" + (typeof extension) + "<=");;

আউটপুটটি ছিল "(টাইপফ এক্সটেনশন) => অবজেক্ট <=" - সুতরাং আহা, আমি আমার ইনপুটটির জন্য স্ট্রিংয়ের ভার পাচ্ছিলাম না। ফিক্সটি যদিও সরাসরি এগিয়ে - কেবল স্ট্রিংয়ের মধ্যে ডার্ন জিনিসটি জোর করে !:

var extension = String(extension);

কাস্টের পরে, এক্সটেনশন.টলওয়ারক্যাস () ফাংশনটি দুর্দান্ত কাজ করেছে।


8

পদ্ধতি বা ফাংশন: টুলওয়ারকেস (), টুঅপারকেস ()

বিবরণ: এই পদ্ধতিগুলি স্ট্রিং বা বর্ণমালাটি লোয়ার কেস থেকে আপার ক্ষেত্রে বা তদ্বিপরীতভাবে আবৃত করতে ব্যবহৃত হয়। যেমন: "এবং" থেকে "এবং"।

উচ্চতর মামলায় রূপান্তর করা: - উদাহরণ কোড: -

<script language=javascript>
var ss = " testing case conversion method ";
var result = ss.toUpperCase();
document.write(result);
</script>

ফলাফল: পরীক্ষার কেস কনভারশন পদ্ধতি

লোয়ার কেসে রূপান্তর করা: - উদাহরণ কোড:

<script language=javascript>
var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
var result = ss.toLowerCase();
document.write(result);
</script>

ফলাফল: লোয়ারকেস রূপান্তর ফাংশন পরীক্ষা করে

ব্যাখ্যা: উপরের উদাহরণগুলিতে,

toUpperCase() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.


2

অপ্ট 1: টুলওয়ারকেস () ব্যবহার করে;

var x = "ABC";
x=x.toLowerCase();

অপ্ট 2: আপনার নিজস্ব ফাংশন ব্যবহার করে

 function convertToLowerCase(str) {
      var result = ''

      for (var i = 0; i < str.length; i++) {
        var code = str.charCodeAt(i)
        if (code > 64 && code < 91) {
          result += String.fromCharCode(code + 32)
        } else {
          result += str.charAt(i)
        }
      }
      return result
    }

এটিকে কল করুন:

x= convertToLowerCase(x);

প্রথম বিকল্পটি ইতিমধ্যে অন্যান্য উত্তরে উল্লিখিত হয়েছে, দ্বিতীয় বিকল্পটি ASCII ব্যতীত সমস্ত ক্ষেত্রে খারাপভাবে ব্যর্থ হয়।
কমফ্রিচ


-1

আপনি যদি এটি নিজে তৈরি করতে চান তবে:

function toLowerCase(string) {

let lowerCaseString = "";

for (let i = 0; i < string.length; i++) {
    //find ASCII charcode
    let charcode = string.charCodeAt(i);

    //if uppercase
    if (charcode > 64 && charcode < 97){
        //convert to lowercase
        charcode = charcode + 32
    }

    //back to char
    let lowercase = String.fromCharCode(charcode);

    //append
    lowerCaseString = lowerCaseString.concat(lowercase);
}

return lowerCaseString

}


-2

আপনি জাভাস্ক্রিপ্ট স্ট্রিংয়ে অন্তর্নির্মিত .toLowerCase () পদ্ধতিটি ব্যবহার করতে পারেন। উদাঃ var x = "হ্যালো"; x.toLowerCase ();


1
এটি স্বীকৃত উত্তর বিয়োগ ভাল কোড ফর্ম্যাটিং এর
অনুরূপ

-4

চেষ্টা

<input type="text" style="text-transform: uppercase">  //uppercase
<input type="text" style="text-transform: lowercase">  //lowercase

ডেমো - জেএসফিডাল


7
চমৎকার, তবে বিশেষত জাভাস্ক্রিপ্ট নয়, না?
কিছু-অ-বর্ণনাকারী-ব্যবহারকারী

@ কিছু-অ-বর্ণনামূলক ব্যবহারকারী-যা বলেছেন তার ভিত্তিতে ওপি একটি জাভাস্ক্রিপ্ট সমাধান খুঁজছে। যদিও এই উত্তরটি বৈধ, এটি নির্ধারিত পরামিতিগুলি অনুযায়ী ওপির প্রশ্নের উত্তর দেয় না।
বক্সস্পাহ

ভাল ... আমি একটি সিএসএস পদ্ধতি খুঁজছিলাম এবং এই পৃষ্ঠায় এসেছি
অভিষেক নলিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.