সম্পাদনা : এই উত্তরটি মূলত 9 বছর আগে যুক্ত হয়েছিল। আজ আপনার localeCompare
এই sensitivity: 'accent'
বিকল্পটি ব্যবহার করা উচিত :
function ciEquals(a, b) {
return typeof a === 'string' && typeof b === 'string'
? a.localeCompare(b, undefined, { sensitivity: 'accent' }) === 0
: a === b;
}
console.log("'a' = 'a'?", ciEquals('a', 'a'));
console.log("'AaA' = 'aAa'?", ciEquals('AaA', 'aAa'));
console.log("'a' = 'á'?", ciEquals('a', 'á'));
console.log("'a' = 'b'?", ciEquals('a', 'b'));
উপরের উপরে পৃথক উচ্চারণ (তৃতীয় উদাহরণ হিসাবে) না থাকলে একই বেস চিঠির দুটি রূপকে একই হিসাবে বিবেচনা করতে { sensitivity: 'accent' }
বলে ThelocaleCompare()
বিকল্পভাবে, আপনি ব্যবহার করতে পারেন { sensitivity: 'base' }
, যা দুটি চরিত্রের সমান হিসাবে বিবেচনা করে যতক্ষণ না তাদের বেস অক্ষর একই থাকে (তাই A
সমান হিসাবে বিবেচিত হবে á
)।
মনে রাখবেন যে তৃতীয় প্যারামিটার localeCompare
IE10 বা নিম্ন বা নির্দিষ্ট মোবাইল ব্রাউজারগুলিতে সমর্থিত নয় (উপরের লিঙ্কে থাকা পৃষ্ঠায় সামঞ্জস্যতার চার্টটি দেখুন), সুতরাং যদি আপনাকে এই ব্রাউজারগুলি সমর্থন করতে হয় তবে আপনার এক প্রকার ফ্যালব্যাকের প্রয়োজন হবে:
function ciEqualsInner(a, b) {
return a.localeCompare(b, undefined, { sensitivity: 'accent' }) === 0;
}
function ciEquals(a, b) {
if (typeof a !== 'string' || typeof b !== 'string') {
return a === b;
}
// v--- feature detection
return ciEqualsInner('A', 'a')
? ciEqualsInner(a, b)
: /* fallback approach here */;
}
আসল উত্তর
জাভাস্ক্রিপ্টে কেস সংবেদনশীল তুলনা করার সর্বোত্তম উপায় হ'ল পতাকা match()
সহ RegExp পদ্ধতি ব্যবহার করা i
।
কেস-সংবেদনশীল অনুসন্ধান
যখন উভয় স্ট্রিং তুলনা করা হচ্ছে ভেরিয়েবল (ধ্রুবক নয়), তখন এটি আরও জটিল 'কারণ আপনি স্ট্রিং থেকে একটি রেজিএক্সপেক্ট তৈরি করতে হবে তবে স্ট্রিংটির বিশেষ রেজেক্স থাকলে স্ট্রিংটি রেজিএক্সপেক্টর কনস্ট্রাক্টরে পাস করার ফলে ভুল মিল বা ব্যর্থ ম্যাচের ফলাফল হতে পারে if এটি অক্ষর।
যদি আপনি আন্তর্জাতিকীকরণের বিষয়ে চিন্তা করেন তবে এটি ব্যবহার করবেন না toLowerCase()
বা toUpperCase()
এটি সমস্ত ভাষায় সঠিক ক্ষেত্রে সংবেদনশীল তুলনা সরবরাহ করে না।
http://www.i18nguy.com/unicode/turkish-i18n.html
.localeCompare()
জাভাস্ক্রিপ্ট পদ্ধতিটি দেখুন। রাইটিংয়ের সময় শুধুমাত্র আধুনিক ব্রাউজারগুলি দ্বারা সমর্থিত (আইই 11 +)। বিকাশকারী.মোজিলা.অর্গ.ইন-