निम्नलिखित 35 वर्णों से बना इनपुट के माध्यम से सबमिट किए गए आइटम कोड को चेक करता है जिसमें अक्षरों ए-एफ और संख्या 0-9, साथ ही तीन डैश ("-") शामिल हैं। अच्छी तरह से 16FA860F-E86A457B-A28A238B-2ACA6E3Dयदि लंबाई शून्य है
//Checks the item code to see if it meets requirements
if($("#input").val().length > 35) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is too long.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().length < 35) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is too short. Be sure to include dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/([^A-Fa-f0-9-]+)/gm)) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> contains invalid characters.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/[-]/g, "").length > 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please only use 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/[-]/g, "").length < 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please include 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else {
//Rest of my code
}
निम्नलिखित काम करता है, अगर किसी आइटम कोड 35 वर्ण लंबा है, लेकिन कोई रिक्तियां शामिल होती है: एक वैध आइटम कोड का एक उदाहरण इस होगा। यदि इसमें 1 या 2 डैश हैं, तो यह कोड इसे पकड़ता है, लेकिन यदि इसमें 0 है, तो यह बस लटकता है और कुछ भी नहीं करता है। मैंने बस सबकुछ के बारे में कोशिश की है, लेकिन यह पता लगाना प्रतीत नहीं होता कि समाधान क्या हो सकता है। चूंकि लंबाई रिक्त है, यह सिर्फ hangs.The बात यह है कि किसी भी तरह बदलाव किया जाना चाहिए यह है:
else if($("#input").val().match(/[-]/g, "").length > 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please only use 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
else if($("#input").val().match(/[-]/g, "").length < 3) {
$("#errorLogContent").prepend("The item code <font color='#FFFFFF'>" + itemCode + "</font> is an invalid format. Please include 3 dashes.<br>");
$("#ise").each(function(){
this.reset();
});
}
मुझे यकीन है कि समाधान के लिए एक आसान से एक है, लेकिन मैं स्टंप्डया हूँ।
संपादित करें: यहां बताया गया है कि सीएसएस को छोड़कर, मुझे अधिकांश भाग के लिए सब कुछ कैसे मिला है। http://jsfiddle.net/86KcG/1/
ऐसा लगता है कि आप इस तरह से अधिक जटिल हैं। प्रारूप हमेशा एक ही है? यही है, हमेशा एक ही स्थिति में '-' हैं? एक नियमित अभिव्यक्ति नौकरी करेगी ... –
यदि लंबाई 35 है तो किस स्थिति में लात मारनी चाहिए ?? – charlietfl
@ माइकल हां, लेकिन मैं अभी यह जांचने के बारे में चिंतित नहीं हूं, हालांकि यह अच्छा होगा। मैं यह सुनिश्चित करने पर ध्यान केंद्रित कर रहा हूं कि कोड में हमेशा तीन डैश होते हैं, और यदि नहीं है, तो एक त्रुटि संदेश दें।यह काम करता है अगर केवल 1 या 2 है, लेकिन यदि कोई नहीं है, तो यह कुछ भी नहीं करता है। –