জ্যাকোয়ারি-অফ-অফ-বক্সের সাথে খালি স্ট্রিংয়ের জন্য পরীক্ষার সর্বোত্তম উপায় কী?


228

জ্যাকোয়ারি-অফ-অফ-বক্স-সহ খালি স্ট্রিংয়ের জন্য পরীক্ষার সেরা উপায় কী, প্লাগইন ছাড়াই? আমি এই চেষ্টা করেছিলাম ।

তবে এটি কমপক্ষে বাক্সের বাইরে কাজ করে নি। অন্তর্নির্মিত কিছু ব্যবহার করা ভাল লাগবে।

আমি পুনরাবৃত্তি করতে চাই না

if (a == null || a=='')

কিছু if (isempty(a)) পাওয়া যায় যদি সর্বত্র ।



উত্তর:


555
if (!a) {
  // is emtpy
}

স্ট্রিংয়ের জন্য সাদা স্থান উপেক্ষা করার জন্য:

if (!a.trim()) {
    // is empty or whitespace
}

আপনার যদি trim()ব্যবহারের জন্য $.trimবা কোনও পলিফিলের জন্য লিগ্যাসি সাপোর্ট (আইই 8-) প্রয়োজন হয় ।


10
@ কফিএডিক্ট খালি স্ট্রিং জাভাস্ক্রিপ্টে মিথ্যা, তাই হ্যাঁ, a"" বা অন্য কোনও মিথ্যা মান (নাল, মিথ্যা, অপরিজ্ঞাত, 0, এনএএন) হলে এক্সপ্রেশনটি সত্যের কাছে মূল্যায়ন করে ।
ডেভিড হেলসিং

21
আপনার যদি কেবল হোয়াইটস্পেসের সাথেও স্ট্রিংগুলি মেলে প্রয়োজন হয় তবে এটি ব্যবহার করা ভাল if (!$.trim(a))
জায়গার সাথেও

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

17
গৃহীত উত্তরটি আপনি 0 টি ইনপুট করার সময় ব্যর্থ হবে, তবে এটি 1, 2, 3, 4 ইত্যাদির জন্য কাজ করবে
স্টিভেন

5
if (!a.trim())কিছুটা বিপজ্জনক নয় কি ? aঅনির্ধারিত বা নাল হলে কী হবে ?
টিমো

27

আপনি যে লিঙ্কটি দিয়েছেন তা মনে হচ্ছে যে পরীক্ষাটি আপনি পুনরাবৃত্তি এড়াতে চেষ্টা করছেন তার থেকে আলাদা কিছু করার চেষ্টা করছে।

if (a == null || a=='')

স্ট্রিংটি খালি স্ট্রিং বা নাল হলে পরীক্ষা করে। আপনি যে নিবন্ধটি পরীক্ষার সাথে সংযুক্ত করেছেন তাতে যদি স্ট্রিংটি পুরোপুরি সাদা জায়গা (বা খালি থাকে) নিয়ে থাকে।

আপনি বর্ণিত পরীক্ষাটি প্রতিস্থাপন করা যেতে পারে:

if (!a)

কারণ জাভাস্ক্রিপ্টে, একটি খালি স্ট্রিং এবং নাল উভয়ই বুলিয়ান প্রসঙ্গে মিথ্যা হিসাবে মূল্যায়ন করে।


if(!a)এটি 4 স্পেস বলতে গঠিত স্ট্রিংয়ের জন্য ব্যর্থ হবে? ``
কেএনইউ

@ কেএনইউ হ্যাঁ, তবে প্রশ্নটি একটি খালি স্ট্রিং সম্পর্কে জিজ্ঞাসা করে, এবং ফাঁকা স্থান নিয়ে একটি স্ট্রিং খালি স্ট্রিং নয়। জিজ্ঞাসা করা হয়েছে এবং লিঙ্কযুক্ত কোডটি কী করে তার মধ্যে পার্থক্য সম্পর্কে আমি কী লিখেছি তা দেখুন
SpoonMeiser

এই উত্তরটি ভুল। এটি '0' একটি খালি স্ট্রিংয়ের মতো আচরণ করে, যা এটি নয়।
জন হেন্কেল

@ জনহেন্কেল: এটি 0একটি খালি স্ট্রিংয়ের মতো আচরণ করবে , তবে তা নয় "0"। আমি ধরে নিলাম তুমি কি বোঝাতে চেয়েছ? এটা অনুমেয় যে এটি এমন পরিস্থিতিতে ব্যবহার করা হচ্ছে যেখানে আপনি জানেন যে aএটি স্ট্রিং বা নাল, তবে হ্যাঁ। কিছু সচেতন হতে হবে।
চামচমাইজার

25

ডেভিডের উত্তরের ভিত্তিতে আমি ব্যক্তিগতভাবে প্রদত্ত বস্তুটি প্রথমে যদি এটির স্ট্রিং হয় তবে তা পরীক্ষা করতে চাই। অন্যথায় .trim()একটি বিদ্যমান অবজেক্টে কল করা একটি ব্যতিক্রম ছুঁড়ে ফেলবে:

function isEmpty(value) {
  return typeof value == 'string' && !value.trim() || typeof value == 'undefined' || value === null;
}

ব্যবহার:

isEmpty(undefined); // true
isEmpty(null); // true
isEmpty(''); // true
isEmpty('foo'); // false
isEmpty(1); // false
isEmpty(0); // false


5

JQuery সহ ডেটা খালি স্ট্রিং (এবং কোনও সাদা স্থান উপেক্ষা করুন) কিনা তা পরীক্ষা করুন:

function isBlank( data ) {
    return ( $.trim(data).length == 0 );
}

5

নাল, অপরিজ্ঞাত, '', '', {}, [] এর মতো সমস্ত 'শূন্যপদ' এর জন্য পরীক্ষা করা ।

var isEmpty = function(data) {
    if(typeof(data) === 'object'){
        if(JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]'){
            return true;
        }else if(!data){
            return true;
        }
        return false;
    }else if(typeof(data) === 'string'){
        if(!data.trim()){
            return true;
        }
        return false;
    }else if(typeof(data) === 'undefined'){
        return true;
    }else{
        return false;
    }
}

কেস এবং ফলাফল ব্যবহার করুন।

console.log(isEmpty()); // true
console.log(isEmpty(null)); // true
console.log(isEmpty('')); // true
console.log(isEmpty('  ')); // true
console.log(isEmpty(undefined)); // true
console.log(isEmpty({})); // true
console.log(isEmpty([])); // true
console.log(isEmpty(0)); // false
console.log(isEmpty('Hey')); // false

3
if(!my_string){ 
// stuff 
}

এবং

if(my_string !== "")

যদি আপনি নাল গ্রহণ করতে চান তবে খালি প্রত্যাখ্যান করুন

সম্পাদনা: আফসোস, আপনার শর্তটি ভুলে গেছে যদি এটি খালি থাকে


2

আপনার ব্রাউজার কনসোল বা একটি node.js repl এ এটি কার্যকর করার চেষ্টা করুন।

var string = ' ';
string ? true : false;
//-> true

string = '';
string ? true : false;
//-> false

সুতরাং, একটি সাধারণ ব্রাঞ্চিং কনস্ট্রাক্ট পরীক্ষার জন্য যথেষ্ট হবে ice

if(string) {
    // string is not empty
}

1
"স্ট্রিং? সত্য: মিথ্যা" বা এমনকি "স্ট্রিং" এর পরিবর্তে "!! স্ট্রিং" বলা ভাল।
ア レ ッ ク ス

2

যেহেতু আপনি সংখ্যার পাশাপাশি নির্দিষ্ট ধরণের স্ট্রিংগুলিও ইনপুট করতে পারেন, উত্তরটি আসলে হওয়া উচিত:

function isBlank(value) {
  return $.trim(value);
}

এটা কি এমন হওয়া উচিত নয়? return !!$.trim(value);
wonsuc


-4
if((a.trim()=="")||(a=="")||(a==null))
{
    //empty condition
}
else
{
    //working condition
}

যদি হয় nullতবে a.trim()ব্যর্থ হবে। জিনিসগুলি যাচাই করার জন্য এটি একটি খারাপ ক্রম। এবং আপনি যদি অর্ডার পরিবর্তন করেন তবে আপনার উত্তরটি এমন কিছু সরবরাহ করে না, যা আগে প্রস্তাবিত হয়নি।
মাইক স্কটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.