2010-08-28 2 views
12

मैं एक ब्राउज़र-आधारित फॉर्म सत्यापन स्क्रिप्ट बना रहा हूं जो जांचता है कि इनपुट में यूनिकोड मानकों के अनुसार कोई अपरकेस वर्ण नहीं है। अपरकेस कैरेक्टर की मेरी परिभाषा एक चरित्र है जिसमें लोअरकेस मैपिंग है। यदि इनपुट स्ट्रिंग में एक निश्चित वर्ण में लोअरकेस या अपरकेस मैपिंग (चीनी वर्णों की तरह) नहीं है तो यह ठीक है (इसे मेरा सत्यापन पास करना चाहिए)।क्या जावास्क्रिप्ट string.toLowerCase() केस-रूपांतरणों में यूनिकोड मानकों का पालन करता है?

मैं यूटीएफ -8 एन्कोडिंग का उपयोग कर रहा हूं।

मैं एक समारोह है कि इस तरह दिखता है बनाने की योजना बना रही है:

function hasUpper(str){ 
    if(str != str.toLowerCase()){ 
    return True 
    } 
    else { 
    return False 
    } 
} 

क्या मेरे जरूरतों के लिए इस काम करता है?

धन्यवाद!

+1

ध्यान दें कि आप उस फ़ंक्शन को 'वापसी str! = Str.toLowerCase() 'में सरल बना सकते हैं। –

उत्तर

5

हाँ, यह काम करेगा। संयोग से, बूलियन कीवर्ड true और false, निचले मामले हैं। :)

+1

मैं वही नसों को छोटा कर सकता हूं: फ़ंक्शन है अपरपर (str) { वापसी str! == str.toLowerCase(); } बाह, :-( – HBP

+0

@Hans बी PUFAL टिप्पणी में कोई स्वरूपण:। AsddYou पीछे की ओर लहजे चरित्र है, जो टिल्ड कुंजी (~) पर लोअरकेस विकल्प है साथ bracketing द्वारा स्वरूपित कर सकते हैं – Robusto

+0

जरूरी नहीं - im # प्रतीक मेरे (यूके) कीबोर्ड पर लोअरकेस विकल्प है। बैकटिक प्रतीक टैब कुंजी से ऊपर है। –

2

सवाल का जवाब यहां कि toLower में इंगित करता है और toupper यूनिकोड-बारे में जानते हैं: Stack OverFlow

और यह एक और अधिक विस्तार में यह में चला जाता है (यह दर्शाता है कि असली दुनिया के साथ कुछ मैपिंग संघर्ष): more Stack Overflow

आशा है कि इससे मदद मिलती है!

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