2012-05-10 10 views
12

मैं कैसे निर्धारित कर सकता हूं कि इनपुट स्ट्रिंग में केवल जावास्क्रिप्ट का उपयोग करके रिक्त स्थान हैं?मैं कैसे निर्धारित कर सकता हूं कि स्ट्रिंग में जावास्क्रिप्ट का उपयोग करके केवल रिक्त स्थान हैं?

+0

http://stackoverflow.com/questions/3532053/regular-expression-for-only-characters-a-z-a-z बस खोज का उपयोग करें। – ayk

+1

VAL.replace (/ +?/G, '') – mack

उत्तर

24

एक और अच्छा पद के लिए: Faster JavaScript Trim

तुम बस trim समारोह लागू करते हैं और स्ट्रिंग की लंबाई की जाँच करने की जरूरत है। यदि ट्रिमिंग के बाद लंबाई 0 है - तो स्ट्रिंग में केवल रिक्त स्थान होते हैं।

var str = "data abc"; 
if((jQuery.trim(str)).length==0) 
    alert("only spaces"); 
else 
    alert("contains other characters"); 
+0

या बस '! Str.trim()' – Oriol

9
if (!input.match(/^\s*$/)) { 
    //your turn... 
} 
+0

यह मानता है कि 'इनपुट' मान है, इनपुट तत्व नहीं। – Joseph

+0

हाँ, जैसे 'var input = "dfdfd" ', मुझे लगता है, वास्तविक इनपुट से इनपुट मान प्राप्त करना कोई बड़ी समस्या नहीं है। –

+0

मैं इस समाधान को .trim() से पसंद करता हूं, क्योंकि आप वर्णों के एक विशिष्ट पैटर्न की तलाश में हैं, और यह सटीक और स्पष्ट रूप से एक रेगेक्स वर्णन करता है। ट्रिम के साथ आपकी चतुर चाल को समझने में थोड़ा सा पाठक लगेगा। – Chris

0
if(!input.match(/^([\s\t\r\n]*)$/)) { 
    blah.blah(); 
} 
2

वैकल्पिक रूप से, आप एक test() जो एक सरणी

//assuming input is the string to test 
if(/^\s*$/.test(input)){ 
    //has spaces 
} 
0

के बजाय एक बूलियन रिटर्न सबसे तेजी से समाधान regex प्रोटोटाइप समारोह test() का उपयोग करने और किसी भी चरित्र की तलाश में है क्या कर सकते हैं यह एक स्पेस या लाइन ब्रेक नहीं है \S:

if (/\S/.test(str)) 
{ 
    // found something other than a space or a line break 
} 

यदि आपके पास एक सुपर लंबी स्ट्रिंग है, तो यह एक महत्वपूर्ण अंतर कर सकता है।

संबंधित मुद्दे

 संबंधित मुद्दे