मैं एक यूआरएल जांचना चाहता हूं कि क्या यह अंतिम वर्ण '\' है (बैक स्लैश)

उदा: http://randomurl/withbackslash\

मैं URL.slice (-1) का उपयोग करके अंतिम वर्ण प्राप्त करने में सक्षम हूं, लेकिन अगर कथन के अंदर इसकी तुलना करने में सक्षम नहीं हूं।

if (lastcharacter === '\') {
  return
}

यह स्थिति काम नहीं कर रही है

-2
venkateswarlu puttamsetti 15 अप्रैल 2020, 17:59

1 उत्तर

सबसे बढ़िया उत्तर

कोड '\' मान्य Javascript कोड नहीं है। मुझे संदेह है कि आप जिस समस्या का वर्णन कर रहे हैं वह यह है कि "यह स्थिति काम नहीं कर रही है"। आपको शायद इस तरह की त्रुटि मिली है:

सिंटैक्स त्रुटि: अमान्य या अप्रत्याशित टोकन

इसका कारण यह है कि वर्ण \ को शाब्दिक वर्ण "बैकवर्ड स्लैश" के रूप में नहीं समझा जाता है क्योंकि इसका उपयोग जावास्क्रिप्ट में "एस्केप कैरेक्टर" - इसे जैसा है वैसा कभी नहीं समझा जाता है और इसके बजाय अगले कैरेक्टर को कुछ और के रूप में व्याख्यायित किया जाता है।

अनुक्रम "\'" को जावास्क्रिप्ट में "'" के बजाय "शाब्दिक सिंगल कोट कैरेक्टर" के रूप में समझा जाता है, जो आमतौर पर सिंगल कोटेड स्ट्रिंग्स को शुरू और समाप्त करने के लिए उपयोग किया जाता है।

तो जब जावास्क्रिप्ट '\' देखता है तो यह एक एकल उद्धृत स्ट्रिंग की शुरुआत देखता है, उसके बाद शाब्दिक "एकल उद्धरण" वर्ण, और फिर ... स्ट्रिंग का अंत कहां है?

इसके बजाय आपके पास संभवतः "एक स्ट्रिंग है जिसमें एक शाब्दिक बैक स्लैश कैरेक्टर होता है"। आप एक अन्य \ (एस्केप कैरेक्टर से बचकर) का उपयोग करके \ के विशेष अर्थ को अक्षम करके ऐसा कर सकते हैं।

तो आपकी हालत इस तरह दिखनी चाहिए:

if (lastcharacter === '\\') {

BTW: === ऑपरेटर यहां बेमानी है, और == इसके बजाय सुरक्षित रूप से इस्तेमाल किया जा सकता था।

2
Guss 15 अप्रैल 2020, 18:45