जवाबों:
पूरे स्ट्रिंग की जांच करने के बजाय यह देखने के लिए कि क्या केवल व्हाट्सएप है, बस यह देखने के लिए जांचें कि क्या गैर व्हाट्सएप का कम से कम एक वर्ण है :
if (/\S/.test(myString)) {
// string is not empty and not just whitespace
}
यदि आपका ब्राउज़र trim()
फ़ंक्शन का समर्थन करता है तो सबसे सरल उत्तर
if (myString && !myString.trim()) {
//First condition to check if string is not empty
//Second condition checks if string contains just whitespace
}
if (/^\s+$/.test(myString))
{
//string contains only whitespace
}
यह 1 या अधिक व्हाट्सएप पात्रों के लिए जाँच करता है, यदि आप इसे एक खाली स्ट्रिंग से मेल खाते हैं तो इसके +
साथ बदलें *
।
ठीक है, अगर आप jQuery का उपयोग कर रहे हैं, तो यह सरल है।
if ($.trim(val).length === 0){
// string is invalid
}
बस इस regex के खिलाफ स्ट्रिंग की जाँच करें:
if(mystring.match(/^\s+$/) === null) {
alert("String is good");
} else {
alert("String contains only whitespace");
}
जब मैं अपनी स्ट्रिंग के बीच में रिक्त स्थान की अनुमति देना चाहता हूं, तो नियमित अभिव्यक्ति का उपयोग मैंने किया, लेकिन शुरुआत या अंत में यह नहीं था:
[\S]+(\s[\S]+)*
या
^[\S]+(\s[\S]+)*$
तो, मुझे पता है कि यह एक पुराना सवाल है, लेकिन आप कुछ ऐसा कर सकते हैं:
if (/^\s+$/.test(myString)) {
//string contains characters and white spaces
}
या आप क्या कर सकते हैं निक ने कहा और उपयोग:
if (/\S/.test(myString)) {
// string is not empty and not just whitespace
}
मैंने यह पता लगाने के लिए निम्नलिखित विधि का उपयोग किया है कि क्या एक स्ट्रिंग में केवल व्हाट्सएप है। यह खाली तारों से भी मेल खाता है।
if (/^\s*$/.test(myStr)) {
// the string contains only whitespace
}
यह तेजी से समाधान हो सकता है
return input < "\u0020" + 1;
return input < " 1";
जो सिर्फ वर्णमाला तुलना कर रहा है। जब तक इनपुट "1" की तुलना में कम क्रमबद्ध होता है, तब तक यह सच हो जाएगा। उदाहरण: return " asdfv34562345" < "\u0020" + 1;
सत्य का मूल्यांकन करता है।