2012-01-28 13 views
5

मैं एक जावास्क्रिप्ट मान्यता है कि प्रारूपजावास्क्रिप्ट सत्यापन अनुमति देने के लिए 3 के लिए अल्पविराम

123,456,789,0000

अर्थ 3 अल्पविराम में एक नंबर या पाठ दर्ज करने के लिए एक पाठ क्षेत्र उपयोगकर्ता में 3 के लिए अल्पविराम की अधिकतम अनुमति देता है चाहता हूँ की अधिकतम (,) की अनुमति है, अल्पविरामों के बीच अंकों/अक्षरों की संख्या हो सकती है। उपयोगकर्ता केवल 2 अल्पविराम 3 मूल्यों यानी लेकिन अल्पविराम की अधिकतम संख्या है कि अनुमति दी जाएगी 3 जैसे एक, बी बी, ddddd, eeeee (4 टैग) एक, सीसी, bbbbb लिए कर रहे हैं (3 टैग)

दर्ज करना चुन सकते

जो मैं प्राप्त करने की कोशिश कर रहा हूं वह है कि उपयोगकर्ता को केवल 4 अल्पविराम से अलग टैग दर्ज करने की अनुमति है, इस प्रकार यह सुनिश्चित करने के लिए कि उपयोगकर्ता 100 टैग के साथ लेख को बाढ़ नहीं कर सकता

+0

[क्या आप की कोशिश की है अब तक ??] (http: // mattgemmell.com/2008/12/08/what-have-you-tried/) –

उत्तर

5
var txt = '123,456,789,0000'; 
if(/^([^,]*,){0,3}[^,]*$/.test(txt)){ 
    // good 
}else{ 
    // bad 
} 

परिवर्तन एक + यदि आप यह सुनिश्चित करने के जैसे एक पंक्ति में दो कॉमा, नहीं कर रहे हैं कि चाहते हैं *: 12,,345

+0

thanx alot .. यह reaaly मुझे बहुत मदद की। –

+0

यह सत्यापन पूरी तरह से ठीक काम करता है, लेकिन मुझे संदेह है, मैं यह सुनिश्चित करना चाहता हूं कि उपयोगकर्ता इनपुट बॉक्स में 3 कॉमा अधिक दर्ज नहीं कर सकता है, यानी यदि कोई उपयोगकर्ता 3 कॉमा दर्ज करता है, तो उपयोगकर्ता 4 वें स्थान पर भी नहीं पहुंच पाएगा अल्पविराम। मुझे उम्मीद है, मैं खुद को स्पष्ट कर रहा हूं। –

+2

यह ऐसा करता है। मैच "किसी भी गैर-अल्पविराम के बाद अल्पविराम" 3 बार। एकमात्र स्थान जिसे अल्पविराम की अनुमति है, '{0,3}' है जो 3 गुना से अधिक मेल नहीं खाएगा –

0

यदि आपके पास सर्वर की ओर नियंत्रण है, तो मैं वहां सत्यापन करने का सुझाव देता हूं।

क्योंकि यदि आप जावा स्क्रिप्ट का उपयोग कर क्लाइंट पर सत्यापन करने का प्रयास करते हैं, तो इसे जावा स्क्रिप्ट को एक साथ बंद करके या फ़ायरफ़ॉक्स के फ़ायरबग एक्सटेंशन का उपयोग करके जावास्क्रिप्ट स्क्रिप्ट सत्यापन को बाईपास करके या मैन्युअल रूप से निष्पादित करके फ़ायरबैक फ़ायरबग एक्सटेंशन का उपयोग करके बाधित किया जा सकता है। कुल मिलाकर।

यदि आपको वास्तव में अभी भी जावास्क्रिप्ट में सत्यापन के कुछ प्रकार करना चाहते हैं, तो आपको निम्न की तरह कुछ कर सकते हैं:

इस इनपुट क्षेत्र <input id="txtInput" type="text" />

आप एक KeyUp घटना बाँध सकता है (पर ध्यान देना देखते हुए क्लिपबोर्ड से चिपकाने के लिए कोशिश करने वाले लोगों, KeyUp वे इसके शिकार हो नहीं अगर वे इसे संदर्भ मेनू के माध्यम से करते हैं)

$('#txtInput').keyup(function(){ 
    //This splits up the string value of the text box into an array 
    //wherever a coma appears 
    var tags = $(this).val().split(','); 

    //These would be your tags, without the coma, count them to find out how many 
    //the user tried to enter. 
    if (tags.length > 4) 
     alert('there is more than 4 tags'); 
}); 
बेशक

यह केवल एक उदाहरण है, लेकिन आप अपनी आवश्यकताओं के विचार अनुकूलन कर सकते हैं। आपको इसे keyup ईवेंट से बांधना नहीं है, आप इसे सबमिट बटन या किसी चीज़ पर एक क्लिक ईवेंट से जोड़ सकते हैं, यह सब आपकी आवश्यकताओं पर निर्भर करता है।

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

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