चेक कैसे करें कि एक चर शून्य या खाली स्ट्रिंग या जावास्क्रिप्ट में सभी व्हाट्सएप है?


96

मुझे यह देखने के लिए जांचने की आवश्यकता है कि क्या एक चर रिक्त है या सभी रिक्त स्थान हैं या बस खाली है ("")।

मेरे पास निम्नलिखित हैं, लेकिन यह काम नहीं कर रहा है:

var addr;
addr = "  ";

if (!addr) {
    // pull error 
}

यदि मैं निम्नलिखित कार्य करता हूं, तो यह काम करता है:

if (addr) {

}​

मुझे C # विधि की तरह कुछ चाहिए String.IsNullOrWhiteSpace(value)


3
क्या आपका वास्तव में मतलब है has *any* empty spaces? या तुम्हारा मतलब है is all empty spaces?
मैडब्रेक्स

1
अपरिभाषित के बारे में क्या?
कोडटूड

जवाबों:


135

एक गैर-jQuery समाधान जो अधिक बारीकी से नकल करता है IsNullOrWhiteSpace, लेकिन अशक्त, खाली या सभी रिक्त स्थान का पता लगाने के लिए:

function isEmptyOrSpaces(str){
    return str === null || str.match(/^ *$/) !== null;
}

...फिर:

var addr = '  ';

if(isEmptyOrSpaces(addr)){
    // error 
}

* संपादित करें * कृपया ध्यान दें कि ऑप विशेष रूप से बताता है:

मुझे यह देखने के लिए जांचने की आवश्यकता है कि क्या कोई var रिक्त है या उसके पास कोई रिक्त स्थान है या उस मामले के लिए बस खाली है

तो हां, "व्हाइट स्पेस" में अशक्त, रिक्त स्थान या रिक्तता से अधिक शामिल हैं, मेरा उत्तर ऑप के विशिष्ट प्रश्न का उत्तर देने के लिए है। यह महत्वपूर्ण है क्योंकि op उदाहरण के लिए टैब जैसी चीजों को पकड़ना नहीं चाहता है।


63
व्हॉट्सएप में टैब, अन्य प्रकार के स्थान आदि भी शामिल हो सकते /^\s*$/हैं।
अनुदान

2
@Grant मैंने उद्देश्यपूर्ण रूप से ऐसा नहीं किया क्योंकि op ने कहा "मुझे यह देखने के लिए जांचने की आवश्यकता है कि क्या कोई var null है या उसके पास कोई खाली स्थान है या उस मामले के लिए सिर्फ रिक्त है"
मैडब्रेक्स

5
मैच () के बजाय टेस्ट () का उपयोग करने के बारे में क्या? वापसी str === नल || (/ ^ * $ /)। परीक्षण (str);
मारियो लेवेरो

1
@MarioLevrero मुझे पसंद है! testजैसा कि मुझे याद है तेजी से भी है।
मैडब्रेक्स

10
@Madbreaks इस ऑप्‍शन में कहा गया है "मुझे जिस चीज़ की ज़रूरत है वह इस C # विधि की तरह है: String.IsNullOrWhiteSpace"। वह विधि टैब को व्हॉट्सएप के रूप में मानती है।
सबसी

24
if (addr == null || addr.trim() === ''){
  //...
}

एक nullतुलना भी पकड़ेगी undefined। यदि आप falseभी उत्तीर्ण होना चाहते हैं, तो उपयोग करें !addr। पीछे की ओर ब्राउज़र संगतता स्वैप के लिए addr.trim()के लिए $.trim(addr)


1
"यदि आप झूठ भी पास करना चाहते हैं, तो उपयोग करें! Addr" - addrशून्य होने पर टूट जाता है।
मदब्रिक्स

19

आप उपयोग कर सकते हैं if(addr && (addr = $.trim(addr)))

इसका फायदा यह है कि वास्तव में किसी बाहरी व्हाट्सएप addrको चेक करने के दौरान इसे नजरअंदाज करने के बजाय इसे हटा दिया जाता है।

संदर्भ: http://api.jquery.com/jQuery.trim/


2
यह मानते हुए कि ऑप व्हाट्सएप को हटाना चाहता है। :)
मद्रबेकस

1
यदि addrएक पूर्णांक के साथ intialized है तो आपका उत्तर एक गलत सकारात्मक लौटाएगा ।
मादरेक्स

अधिक जानकारी के बिना मुझे लगता है कि अगर यह शून्य / अपरिभाषित नहीं है तो var हमेशा एक स्ट्रिंग है।
ThiefMaster

1
Op ने कहा कि "अगर एक चर ..." की जाँच करें, और उसके उदाहरण से पता चलता है कि चर एक स्ट्रिंग है, लेकिन मुझे लगता है कि यह विचार प्रदर्शित करने के लिए सिर्फ एक उदाहरण है।
मैडब्रेक्स

6
isEmptyOrSpaces(str){
    return !str || str.trim() === '';
}

1
क्या मौजूदा उत्तरों की नकल करने की कोई आवश्यकता है? या क्या आपने कुछ ऐसे उत्तरों को बदल दिया है जो प्रासंगिक अंतर बनाता है?
निको हासे

4

आप अपनी खुद की विधि के बराबर बना सकते हैं

String.IsNullOrWhiteSpace(value)

function IsNullOrWhiteSpace( value) {

    if (value== null) return true;

    return value.replace(/\s/g, '').length == 0;
}

1
\sसिर्फ रिक्त स्थान से अधिक मेल खाता है
Madbreaks

4

पुराना सवाल है, लेकिन मुझे लगता है कि यह एक सरल जवाब है।

आप बस कर सकते हैं:

var addr = "  ";

if (addr && addr.trim()) {

    console.log("I'm not null, nor undefined, nor empty string, nor string composed of whitespace only.");

}

1
यह नहीं होना चाहिए addr && addr.trim()? एक एकल के साथ &यह मेरे लिए काम नहीं करता था, लेकिन यह साथ करता है &&
निशान 12

@ markv12 तय, शुक्रिया
sandre89

3

सफेद स्थान की जाँच करते समय c # विधि यूनिकोड मानक का उपयोग करती है। व्हाइट स्पेस में स्पेस, टैब, कैरिज रिटर्न और कई अन्य गैर-मुद्रण वर्ण कोड शामिल हैं। इसलिए आप उपयोग करने में बेहतर हैं:

function isNullOrWhiteSpace(str){
    return str == null || str.replace(/\s/g, '').length < 1;
}

ओप स्पष्ट रूप से बताता है कि लक्ष्य रिक्त स्थान की जांच करना है , न कि व्हाट्सएप।
मैडब्रेक्स

5
Op का कहना है कि "मुझे इस C # विधि की तरह कुछ चाहिए: String.IsNullOrWhiteSpace (मान)"। और अगर आप केवल रिक्त स्थान की जाँच कर रहे हैं, तो अपने फ़ंक्शन का नाम NNOOrWhiteSpace नहीं है, बल्कि इसका नाम IsNullOrEmtpy है।
जोआओ लेम

सी # विधि यह देखने के लिए जांचने के लिए काम करेगी कि क्या एक स्ट्रिंग शून्य या रिक्त स्थान की एक श्रृंखला थी। Op कुछ "जैसा" चाहता था, लेकिन विशेष रूप से रिक्त स्थान की जांच करने के लिए।
मैडब्रेक्स


0

इसे आज़माएं

/**
  * Checks the string if undefined, null, not typeof string, empty or space(s)
  * @param {any} str string to be evaluated
  * @returns {boolean} the evaluated result
*/
function isStringNullOrWhiteSpace(str) {
    return str === undefined || str === null
                             || typeof str !== 'string'
                             || str.match(/^ *$/) !== null;
}

आप इसे इस तरह से उपयोग कर सकते हैं

isStringNullOrWhiteSpace('Your String');



0

आप यह कोशिश कर सकते हैं:

do {
   var op = prompt("please input operatot \n you most select one of * - / *  ")
} while (typeof op == "object" || op == ""); 
// execute block of code when click on cancle or ok whthout input
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.