2011-06-17 9 views
13

सबसे पहले, यहाँ मेरी कोड स्निपेट है।जावास्क्रिप्ट जांच अगर regex सब से लागू

अब, अगर मैं इस स्ट्रिंग पर कुछ स्ट्रिंग पर लागू होता हूं तो मैं एक if-statement के साथ जांचना चाहता हूं। मैं जावास्क्रिप्ट jquery का उपयोग कर रहा हूँ।

अग्रिम धन्यवाद :)

उत्तर

40

आप RegExp.test

if(/de-->([^<]+).+?en[^>]+>([^<]+)/i.test(str)) { 
    // something 
} 
+0

एचएम मुझे वास्तव में नहीं पता कि यह कैसे काम करना चाहिए ?! यह एक कथन में कैसा दिखता है? अगर (... == सच) या क्या? –

+0

मेरा जवाब अपडेट किया गया। – Dogbert

+1

@ YeppThat'Me आपको सचमुच कभी भी एक कथन में '== true' होने की आवश्यकता नहीं है। शायद '=== सच', लेकिन निश्चित रूप से अन्य –

3
var str = '<!--:de-->some german text<!--:--><!--:en-->some english text<!--:-->'; 
var match = str.match(/de-->([^<]+).+?en[^>]+>([^<]+)/i); 
if(match.length > 0){ 
//successful match 
} 

या

var re = new RegExp('regex string'); 
    if (somestring.match(re)) { 
//successful match 
} 
+1

यदि कोई मिलान नहीं है तो 'मिलान'' शून्य 'है जिसका अर्थ है कि आप' match.length' नहीं कर सकते हैं। यदि आप if statement 'if (match) {...' को बदलते हैं तो यह काम करेगा। –

3

कैसे इस बारे में उपयोग कर सकते हैं?

function IsMatch(v) { 
    //basically build your regex here 
    var exp = new RegExp("^de-->([^<]+).+?en[^>]+>([^<]+)$"); return exp.test(v); 
} 

To call it: 
if(IsMatch('Your string')) alert('Found'); else alert('Not Found'); 
संबंधित मुद्दे