javascript - অবজ - কিভাবে একটি স্ট্রিং একটি অক্ষর জাভাস্ক্রিপ্ট ব্যবহার করে বড় হাতের অক্ষর বা ছোট হাতের অক্ষর পরীক্ষা করতে পারেন?




জাভাস্ক্রিপ্ট বাংলা বই (18)

অক্ষর বা পুরো স্ট্রিং সাংখ্যিক হলে জোশ এবং নরকি উভয়ের উপরের এবং নিম্ন ক্ষেত্রে সত্য উত্তর দেবে। ফলে একটি মিথ্যা ফলাফল তৈরি। উদাহরণস্বরূপ josh ব্যবহার করে

var character = '5';
if (character == character.toUpperCase()) {
 alert ('upper case true');
}
if (character == character.toLowerCase()){
 alert ('lower case true');
}

অন্য উপায়টি যদি এটি সংখ্যাসূচক হয় তবে প্রথমে এটি পরীক্ষা করে দেখুন, যদি উপরের বা নিম্ন ক্ষেত্রে উদাহরণটি পরীক্ষা করে দেখুন

var strings = 'this iS a TeSt 523 Now!';
var i=0;
var character='';
while (i <= strings.length){
    character = strings.charAt(i);
    if (!isNaN(character * 1)){
        alert('character is numeric');
    }else{
        if (character == character.toUpperCase()) {
            alert ('upper case true');
        }
        if (character == character.toLowerCase()){
            alert ('lower case true');
        }
    }
    i++;
}

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


অন্যান্য উত্তরগুলির সমস্যা হল, ছোট হাতের অক্ষর / বড় হাতের অক্ষরগুলির জন্য চেক করার পরে সংখ্যা বা বিরাম চিহ্ন মতো কিছু অক্ষর সত্যও ফিরে আসে।

আমি এটি জন্য খুব ভাল কাজ পাওয়া:

function isLowerCase(str)
{
    return str == str.toLowerCase() && str != str.toUpperCase();
}

এই বিরামচিহ্ন, সংখ্যা এবং অক্ষরের জন্য কাজ করবে:

assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))

একটি চিঠি চেক করতে শুধু এটি ব্যবহার করে এটি কল করুন isLowerCase(str[charIndex])


আপনি এটি ব্যবহার করতে পারেন, এটি নিম্ন এবং বড় হাতের জন্য স্ট্রিং চেক করবে

var s = "a"
if(/[a-z]/.test(s)){
  alert ('lower case true');
}

if(/[A-Z]/.test(s)) {
 alert ('upper case true'); 
}

আপনি স্পষ্টভাবে উচ্চ অক্ষর রোমান বর্ণমালা অক্ষর সনাক্ত করতে নিয়মিত অভিব্যক্তি ব্যবহার করতে পারেন।

isUpperCase = function(char) {
  return !!/[A-Z]/.exec(char[0]);
};

সম্পাদন করুন: উপরের ফাংশনটি ASCII / বেসিক ল্যাটিন ইউনিকোডের জন্য সঠিক, যা সম্ভবত আপনি সর্বদা যত্নশীল হবেন। নিচের সংস্করণটি ল্যাটিন-1 সাপ্লিমেন্ট এবং গ্রিক এবং কপটিক ইউনিকোড ব্লকগুলিকে সমর্থন করে ... যদি কিছু কারণে আপনার প্রয়োজন হয়।

isUpperCase = function(char) {
  return !!/[A-ZÀ-ÖØ-ÞΆΈ-ΏΑ-ΫϢϤϦϨϪϬϮϴϷϹϺϽ-Ͽ]/.exec(char[0]);
};

যদি আপনার আরও সমর্থন প্রয়োজন হয় (এই Ѭ বড় হাতের অক্ষর?) তাহলে এই কৌশলটি হ্রাস হতে শুরু করে, কারণ কিছু ব্লকগুলি উপরের এবং ছোট হাতের অক্ষরগুলি অন্তর্মুখী করে।


আরেকটি উপায়ে অক্ষরটি খালি বস্তুর সাথে তুলনা করা, আমি জানি না কেন এটি কাজ করে, তবে এটি কাজ করে:

for (let i = 1; i <= 26; i++) {
   const letter = (i + 9).toString(36).toUpperCase();
   console.log('letter', letter, 'is upper', letter<{}); // returns true
}
for (let i = 1; i <= 26; i++) {
   const letter = (i + 9).toString(36);
   console.log('letter', letter, 'is upper', letter<{}); // returns false
}

তাই একটি ফাংশন:

function charIsUpper(character) {
   return character<{};
}

এই প্রশ্নটি বেশ কয়েকবার উত্তর দেওয়া হয়েছে, কিন্তু আমি ভাবলাম যে আমি সমাধানটি ভাগ করব কারণ আমি প্রদত্ত উত্তরগুলিতে এটি দেখিনি।

var lower_case = function(letter){
    lowers = "abcdefghijklmnopqrstuvwxyz";
    return letter === letter.toLowerCase() && lowers.indexOf(letter) >= 0
};

var upper_case = function(letter){
    uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return letter === letter.toUpperCase() && uppers.indexOf(letter) >= 0
};

2 ¢


এইভাবে আমি সম্প্রতি এটি করেছি:

1) চেক করুন যে একটি গৃহস্থালি / স্ট্রিং s ছোট হাতের অক্ষর

s.toLowerCase() == s && s.toUpperCase() != s

2) চেক করুন বড় হাতের অক্ষর

s.toUpperCase() == s && s.toLowerCase() != s

যেখানে অ বর্ণমালা অক্ষর এবং diacritics রয়েছে ক্ষেত্রে কভার আবরণ।


এক আমি ব্যবহার করি (বিজ্ঞপ্তিটি "টেস্ট স্ট্রিং" হিসাবে "T est স্ট্রিং" বা "টেস্ট স্ট্রিং" তৈরি করে না)।

function seperateCapitalised(capitalisedString) {
    if (typeof capitalisedString !== "string" || capitalisedString.length === 0)
        return capitalisedString;

    var newStr = capitalisedString[0];
    for (var i = 1; i < capitalisedString.length; i++) {
        var char = capitalisedString[i];

        if (char === char.toUpperCase() && isNaN(char)) {
            newStr += ' ' + char;
        }
        else {
            newStr += char;
        }
    }
    return newStr;
}

এটি একটি সহজ regex ব্যবহার করে সহজ, পাঠযোগ্য সমাধান।

// Get specific char in string
const char = string.charAt(index);

const isLowerCaseLetter = (/[a-z]/.test(char));
const isUpperCaseLetter = (/[A-Z]/.test(char));

এটি সম্পূর্ণ অক্ষরটি নয়, সম্পূর্ণ অক্ষরটি পরীক্ষা করে। আমি ভাবলাম আমি এখানে প্রত্যেকের সাথে শেয়ার করব।

এখানে একটি ফাংশন যা একটি স্ট্রিংয়ের অক্ষরগুলির বিরুদ্ধে পরীক্ষা করার জন্য একটি নিয়মিত অভিব্যক্তি ব্যবহার করে; অক্ষরটি বড় হাতের অক্ষর (AZ) হলে এটি সত্য করে। আমরা তারপর একটি একক মান সত্য / মিথ্যা অ্যারে কমাতে। যদি এটি স্ট্রিংয়ের দৈর্ঘ্যের সমান হয়, তার মানে সব অক্ষর রেজেক্স পরীক্ষা পাস করে, যার মানে স্ট্রিং বড় হাতের অক্ষর। যদি না হয়, স্ট্রিং ছোট হাতের অক্ষর।

const isUpperCase = (str) => {
  let result = str
    .split('')
    .map(letter => /[A-Z]/.test(letter))
    .reduce((a, b) => a + b);

  return result === str.length;
}

console.log(isUpperCase('123')); // false
console.log('123' === '123'.toUpperCase()); // true

চরিত্রটি বড় হাতের অক্ষর হলে এটি লগ হবে এবং প্রতিটি অন্য ক্ষেত্রে মিথ্যা লগ ইন করবে:

var letters = ['a', 'b', 'c', 'A', 'B', 'C', '(', ')', '+', '-', '~', '*'];

​​​for (var i = 0; i<letters.length; i++) {
    if (letters[i] === letters[i].toUpperCase()
        && letters[i] !== letters[i].toLowerCase()) {
        console.log(letters[i] + ": " + true);
    } else {
        console.log(letters[i] + ": " + false);
    }
}​

আপনি এখানে এটি পরীক্ষা করতে পারেন: http://jsfiddle.net/Axfxz/ (ফায়ারবাগ বা STH ব্যবহার করুন)।

​​​for (var i = 0; i<letters.length; i++) {
    if (letters[i] !== letters[i].toUpperCase()
        && letters[i] === letters[i].toLowerCase()) {
        console.log(letters[i] + ": " + true);
    } else {
        console.log(letters[i] + ": " + false);
    }
}​

এবং এই ছোট হাতের জন্য :)।


জিজ্ঞাসা করা হচ্ছে কি আরো বিশেষভাবে। একটি স্ট্রিং মধ্যে পাস এবং একটি অবস্থান চেক। জোশের কাছে খুব কাছাকাছি যে এই এক একটি বড় স্ট্রিং তুলনা করবে। একটি মন্তব্য হিসাবে যোগ করা হবে কিন্তু আমি এখনো যে ক্ষমতা নেই।

function isUpperCase(myString, pos) { 
    return (myString.charAt(pos) == myString.charAt(pos).toUpperCase()); 
}   

function isLowerCase(myString, pos) {
    return (myString.charAt(pos) == myString.charAt(pos).toLowerCase()); 
}

মিলের পদ্ধতি এবং রেজেক্স ব্যবহার করে আপনার অ্যারের একটি উচ্চতর কেস বা নিম্ন কেস স্ট্রিং থাকলে পরীক্ষা করতে পারেন, নীচে আপনার পরীক্ষা শুরু করার জন্য কেবল একটি মৌলিক ভিত্তি

  var array = ['a', 'b', 'c', 'A', 'B', 'C', '(', ')', '+', '-', '~', '*'];
  var character = array.join('')
      console.log(character)

  var test = function(search){
      upperCase = search.match(/[A-Z]/g)
      console.log(upperCase)

      lowerCase = search.match(/[a-z]/g)
      console.log(lowerCase)
   }

   test(character)

সর্বোত্তম উপায় একটি নিয়মিত অভিব্যক্তি, একটি ত্রৈমাসিক অপারেটর এবং স্ট্রিংগুলির জন্য নির্মিত .test() পদ্ধতিটি ব্যবহার করা হয়।

আমি আপনাকে গুগলে রেখেছি নিয়মিত এক্সপ্রেশনগুলির ইনস এবং আউটস এবং স্ট্রিংগুলির জন্য পরীক্ষা পদ্ধতি (তারা খুঁজে পাওয়া সহজ) তবে এখানে আমরা আপনার পরিবর্তনশীল পরীক্ষা করার জন্য এটি ব্যবহার করব।

/[a-z]/i.test(your-character-here)

এটি আপনার অক্ষরটি নিয়মিত অভিব্যক্তিতে চরিত্র সেটের সাথে মিলছে কিনা তা নির্ভর করে FALSE এর সত্যকে ফিরিয়ে দেবে। আমাদের নিয়মিত অভিব্যক্তি সব অক্ষরের জন্য /[az]/ AZ /[az]/

সুতরাং, একটি মৌলিক পরীক্ষা হবে:

var theAnswer = "";
if (/[a-z]/i.test(your-character-here)) {
  theAnswer = "It's a letter."
}

এখন এটি উচ্চ বা নিম্ন ক্ষেত্রে কিনা তা নির্ধারণ করতে হবে। সুতরাং, আমরা যদি আমাদের নিয়মিত অভিব্যক্তি থেকে i পতাকাটি সরাতে পারি তবে উপরের কোডটি অক্ষর নিম্ন অক্ষরের জন্য পরীক্ষা করবে। এবং যদি আমরা আমাদের প্রথম বিবৃতির অন্য if বিবৃতিতে অন্যকে আটকে রাখি, তবে আমরা AZ ব্যবহার করে উচ্চতর ক্ষেত্রেও পরীক্ষা করতে পারি। এটার মত:

var theAnswer = "";
if (/[a-z]/.test(your-character-here)) {
  theAnswer = "It's a lower case letter."
} else if (/[A-Z]/.test(your-character-here)) {
  theAnswer = "It's an upper case letter.";
}

এবং যদি এটি একটি চিঠি না হয়, আমরা একটি চূড়ান্ত অন্য বিবৃতি যোগ করতে পারেন:

var theAnswer = "";
if (/[a-z]/.test(your-character-here)) {
  theAnswer = "It's a lower case letter."
} else if (/[A-Z]/.test(your-character-here)) {
  theAnswer = "It's an upper case letter.";
} else {
  theAnswer = "It's not a letter."
}

উপরের কোড কাজ করবে। কিন্তু এটা kinda কুৎসিত। পরিবর্তে, আমরা আমাদের if-else বিবৃতিগুলি প্রতিস্থাপনের জন্য একটি "ত্রান্ত অপারেটর" ব্যবহার করতে if-else । টার্নারি অপারেটরগুলি কেবল if-else কোডিংয়ের শর্টথ্যান্ড সহজ উপায়ে if-else । সিনট্যাক্স সহজ:

(statement-to-be-evaluated) ? (code-if-true) : (code-if-false)

এবং এই একে অপরের মধ্যে নিস্তেজ করা যাবে, খুব। সুতরাং একটি ফাংশন ভালো হতে পারে:

var theAnswer = "";
function whichCase(theLetter) {
  theAnswer = /[a-z]/.test(theLetter) ? "It's lower case." : "";
  theAnswer = /[A-Z]/.test(theLetter) ? "It's upper case." : "";
  return(theAnswer);
}

উপরোক্ত কোড ভাল দেখাচ্ছে, কিন্তু বেশিরভাগ কাজ করবে না, কারণ যদি আমাদের চরিত্রটি নিম্নতর ক্ষেত্রে থাকে, theAnswer বড় হাতের অক্ষর পরীক্ষা করার জন্য theAnswer "" সেট হয়ে যায়, তাই এটি ঘন ঘন করে দেয়:

var theAnswer = "";
function whichCase(theLetter) {
  theAnswer = /[a-z]/.test(theLetter) ? "It's lower case." : (/[A-Z]/.test(theLetter) ? "It's upper case." : "It's not a letter.");
  return(theAnswer);
}

যে মহান কাজ করবে! কিন্তু পরিবর্তনশীল theAnswer এবং তারপর এটি ফেরত সেটিং জন্য দুটি পৃথক লাইন আছে প্রয়োজন নেই। এবং আমরা var পরিবর্তে let এবং const ব্যবহার ব্যবহার করা উচিত (যদি আপনি নিশ্চিত না কেন সেগুলি দেখুন)। একবার আমরা ঐ পরিবর্তনগুলি করি:

function whichCase(theLetter) {
  return(/[A-Z]/.test(theLetter) ? "It's upper case." : (/[a-z]/.test(theLetter) ? "It's lower case." : "It's not a letter.")); 
}

এবং আমরা কোড একটি মার্জিত, সংক্ষিপ্ত টুকরা সঙ্গে শেষ। ;)


function checkCase(c){
    var u = c.toUpperCase();
    return (c.toLowerCase() === u ? -1 : (c === u ? 1 : 0));
};

প্রধান উত্তর বৌদ্ধ দাড়ি মন্তব্য উপর ভিত্তি করে। আমি ফলাফলের মধ্যে যুক্তি পরিবর্তন:

  • 0: ছোট হাতের অক্ষর

  • 1: বড় হাতের অক্ষর

  • -1: না


function checkCharType (charToCheck) {
    // body... 
    var returnValue = "O";
    var charCode = charToCheck.charCodeAt(0);

    if(charCode >= "A".charCodeAt(0) && charCode <= "Z".charCodeAt(0)){

        returnValue = "U";

    }else if (charCode >= "a".charCodeAt(0) &&
                charCode <= "z".charCodeAt(0) ){
        returnValue = "L";
    }else if (charCode >= "0".charCodeAt(0) &&
            charCode <= "9".charCodeAt(0)  ) {
        returnValue = "N";
    }
    return returnValue;
}

var myString = prompt("Enter Some text: ", "Hello world !");

switch (checkCharType(myString)) {
    case "U":
        // statements_1
        document.write("First character was upper case");
        break;

    case "L":
        document.write("First character was a lower case");
        break;
    case "N":
        document.write("First character was a number");
        break
    default:
        // statements_def
        document.write("First character was not a character or a number");
        break;
}
  1. একটি ফাংশন চেকটি CharType () উল্লেখ করুন। পরিবর্তনশীল ফেরত ভ্যালু ঘোষণা করে এবং অক্ষর "ও" তে এটি সূচনা করার জন্য এটি অন্য কিছু মান নির্দেশ করে।

  2. বড় হাতের জন্য ইউ; লোকেস জন্য এল; সংখ্যা জন্য এন

  3. প্রথম চরিত্রের অক্ষর কোড পেতে charCodeAt () পদ্ধতিটি ব্যবহার করুন।

  4. বিবৃতি ব্যবহার করে, যা চরিত্র কোড পতন মূল্য কত পরিসীমা মধ্যে চেক।

  5. যদি এটি A এবং Z এর চরিত্র কোডগুলির মধ্যে থাকে, তার উচ্চতর অক্ষর, একটি এবং z, এর ছোট হাতের অক্ষরের মধ্যে অক্ষর কোড। এবং তাই।

  6. "একটি" .charCode (0)

    var myChar = নতুন স্ট্রিং ("A"); myChar.charCodeAt (0); "এ": নম্বর কোড "65"

  7. স্ট্রিং চেক করুন

function isUpperCase(myString) { 
  return (myString == myString.toUpperCase()); 
} 
function isLowerCase(myString) { 
  return (myString == myString.toLowerCase()); 
} 

if (character == character.toLowerCase())
{
  // The character is lowercase
}
else
{
  // The character is uppercase
}







javascript