function validInteger(theNumber){
var anyNonDigits = new RegExp('\D','g');
if(parseInt(theNumber)&&!anyNonDigits.test(theNumber)){
return true;
}else{
return false;
}
}
ऊपर एक ऐसा फ़ंक्शन है जिसे मैंने कुछ इनपुट मान्य करने के लिए लिखा है। मैं सभी सकारात्मक पूर्णांक चाहता हूँ। मुझे जिस समस्या का सामना करना पड़ रहा है वह RegExp ऑब्जेक्ट के साथ है। ऐसा लगता है कि यह बहुत आसान होना चाहिए, लेकिन किसी कारण से यह काम नहीं कर रहा है।यह सत्यापित करने के लिए एक नियमित अभिव्यक्ति का उपयोग करना है कि इनपुट में कोई गैर अंकों है
उदाहरण के लिए यदि मैं 'f5' पास करता हूं तो मैं सच हो जाता हूं, लेकिन अगर मैं '5 एफ' पास करता हूं तो मुझे झूठा लगता है। नकारात्मक संख्याओं को पार करते समय मुझे भी समस्याएं आ रही हैं। -3 अगर मैं RegExp में पास करने से पहले चर को स्ट्रिंग करता हूं तो भी पकड़ा नहीं जाता है। मैं अपने if स्टेटमेंट में '&&parseInt(theNumber)>0
' जोड़ कर इसे ठीक कर सकता हूं, लेकिन मुझे लगता है कि RegExp को भी पकड़ना चाहिए। अग्रिम में धन्यवाद!
नियमित अभिव्यक्ति काम नहीं करती है क्योंकि आपको '\ 'वर्ण से बचने की आवश्यकता है क्योंकि \' का अर्थ शाब्दिक नोटेशन में भी है। 'नया RegExp ('\\ डी', 'जी');' –
... भी, आपको वास्तव में 'g' संशोधक की आवश्यकता नहीं होगी, क्योंकि ऐसा लगता है कि यहां तक कि एक गैर-अंक भी ध्वजांकित करने के लिए पर्याप्त होना चाहिए इनपुट। –
@amnotiam इस जानकारी के लिए धन्यवाद कि मैं जो कर रहा था वह काम नहीं कर रहा था। नियमित अभिव्यक्ति कुछ ऐसा है जो मैं अभी भी नया हूं। उम्मीद है कि मैं जल्द ही इसे बदल दूंगा। –