सबसे अच्छा तरीका एक नियमित अभिव्यक्ति, एक टर्नरी ऑपरेटर और .test()स्ट्रिंग्स के लिए निर्मित विधि का उपयोग करना है।
मैं आपको नियमित अभिव्यक्तियों और स्ट्रिंग्स के लिए परीक्षण विधि (वे खोजना आसान है) के लिए Google को छोड़ देता हूं, लेकिन यहां हम इसका उपयोग आपके चर का परीक्षण करने के लिए करेंगे।
/[a-z]/i.test(your-character-here)
यह FALSE के TRUE को इस आधार पर लौटाएगा कि आपका चरित्र नियमित अभिव्यक्ति में निर्धारित वर्ण से मेल खाता है या नहीं। झंडे के /[a-z]/लिए धन्यवाद उनके मामले की परवाह किए बिना सभी पत्रों के लिए हमारी नियमित अभिव्यक्ति की जाँच करता है i।
तो, एक बुनियादी परीक्षा होगी:
var theAnswer = "";
if (/[a-z]/i.test(your-character-here)) {
theAnswer = "It's a letter."
}
अब हमें यह निर्धारित करने की आवश्यकता है कि क्या यह ऊपरी या निचला मामला है। इसलिए, यदि हम iध्वज को अपनी नियमित अभिव्यक्ति से हटाते हैं , तो ऊपर दिया गया हमारा कोड लोअर केस लेटर्स az के लिए परीक्षण करेगा। और अगर हम अपने पहले ifबयान में एक और कथन चिपकाते हैं, तो हम AZ का उपयोग करके ऊपरी मामले के लिए भी परीक्षण कर सकते हैं। ऐशे ही:elseif
var theAnswer = "";
if (/[a-z]/.test(your-character-here)) {
theAnswer = "It's a lower case letter."
} else if (/[A-Z]/.test(your-character-here)) {
theAnswer = "It's an upper case letter.";
}
और सिर्फ अगर यह एक पत्र नहीं है, तो हम एक अंतिम विवरण जोड़ सकते हैं:
var theAnswer = "";
if (/[a-z]/.test(your-character-here)) {
theAnswer = "It's a lower case letter."
} else if (/[A-Z]/.test(your-character-here)) {
theAnswer = "It's an upper case letter.";
} else {
theAnswer = "It's not a letter."
}
उपरोक्त कोड काम करेगा। लेकिन यह थोड़े बदसूरत है। इसके बजाय, हम अपने if-elseबयानों को बदलने के लिए एक "टर्नरी ऑपरेटर" का उपयोग कर सकते हैं । Ternary ऑपरेटर्स कोडिंग कोडिंग के सरल तरीके हैं if-else। वाक्य रचना आसान है:
(statement-to-be-evaluated) ? (code-if-true) : (code-if-false)
और ये एक-दूसरे के भीतर भी घोंटे जा सकते हैं। तो एक समारोह की तरह लग सकता है:
var theAnswer = "";
function whichCase(theLetter) {
theAnswer = /[a-z]/.test(theLetter) ? "It's lower case." : "";
theAnswer = /[A-Z]/.test(theLetter) ? "It's upper case." : "";
return(theAnswer);
}
उपरोक्त कोड अच्छा लग रहा है, लेकिन काफी काम नहीं करेगा, क्योंकि यदि हमारा चरित्र कम है theAnswer, तो अपरकेस के लिए परीक्षण करने पर "" सेट हो जाता है, इसलिए उन्हें घोंसला बनाने देता है:
var theAnswer = "";
function whichCase(theLetter) {
theAnswer = /[a-z]/.test(theLetter) ? "It's lower case." : (/[A-Z]/.test(theLetter) ? "It's upper case." : "It's not a letter.");
return(theAnswer);
}
यह बहुत अच्छा काम करेगा! लेकिन चर को सेट करने theAnswerऔर फिर इसे वापस करने के लिए दो अलग-अलग लाइनों की आवश्यकता नहीं है। और हमें उपयोग करना चाहिए letऔर constइसके बजाय var(उन लोगों को देखें यदि आपको यकीन नहीं है कि क्यों)। एक बार जब हम उन बदलाव करते हैं:
function whichCase(theLetter) {
return(/[A-Z]/.test(theLetter) ? "It's upper case." : (/[a-z]/.test(theLetter) ? "It's lower case." : "It's not a letter."));
}
और हम कोड के एक सुरुचिपूर्ण, संक्षिप्त टुकड़े के साथ समाप्त होते हैं। ;)