2011-09-30 13 views
6

संभव डुप्लिकेट:
typeof for RegExpकैसे बताना है कि कोई ऑब्जेक्ट एक RegExp ऑब्जेक्ट है?

मैं एक नियमित है कि देखने के लिए एक वस्तु मैचों दी यदि मापदंड परीक्षण कर रहा है है। ,

{ 
    'size'  : "large", 
    'color' : /(blue|red)/ 
} 

ऊपर के उदाहरण में यह matchCriteria अगर objectToTest मूल्य "large" साथ एक विशेषता size है परीक्षण करने के लिए उपयोग किया जाएगा:

testForMatch(objectToTest, matchCriteria) { 
    // all my testing logic here. 
} 

पैरामीटर matchCriteria एक वस्तु है कि ऐसा दिखाई दे सकता, उदाहरण के लिए है और color"blue" या "red" के मान के साथ एक विशेषता color

तो matchCriteria में गुण/गुण नाम हैं जो गुणों के मूल्यों से मेल खाने के लक्ष्य के साथ objectToTest में मांगे जाएंगे। या, यदि रेगेक्स को मान के रूप में दिया जाता है (जैसा ऊपर color के मामले में है) objectToTest में संपत्ति RegExp.test() 'दिए गए रेगेक्स के विरुद्ध' होगी।

लेकिन आदेश testForMatch() में ठीक से matchCriteria के उपचार के लिए, मैं बताने के लिए अगर matchCriteria में एक विशेषता के मान एक स्ट्रिंग या एक RegExp वस्तु है सक्षम होना चाहिए।

मेरा सवाल यह है कि, मैं कैसे पता लगा सकता हूं कि किसी विशेषता का मान RegExp ऑब्जेक्ट है या नहीं?

+1

कैसे http://stackoverflow.com/questions/4339288/typeof-for-regexp – mithunsatheesh

+0

@mithunsatheesh, धन्यवाद! –

उत्तर

9

के बारे में

var o = { 
    'size'  : "large", 
    'color' : /(blue|red)/ 
} 

print (o['color'] instanceof RegExp) 

>>true 
+0

आह! हाँ। धन्यवाद। जब टाइमर मुझे देता है तो मैं स्वीकार करूंगा। –

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