2009-08-22 15 views
36

संभव डुप्लिकेट "की तरह" एसक्यूएल के समान:
Emulating SQL LIKE in JavaScriptजावास्क्रिप्ट ऑपरेटर

वहाँ जावास्क्रिप्ट में एक ऑपरेटर जो एसक्यूएल में like ऑपरेटर के समान है है? स्पष्टीकरण और उदाहरणों की सराहना की जाती है।

+1

http://stackoverflow.com/questions/1314045/emulating-sql-like-in-javascript – karim79

उत्तर

51

आप तारों के पैटर्न मिलान करने के लिए regular expressions in Javascript का उपयोग कर सकते हैं।

उदाहरण के लिए:

var s = "hello world!"; 
if (s.match(/hello.*/)) { 
    // do something 
} 

match() परीक्षण बहुत एसक्यूएल में WHERE s LIKE 'hello%' की तरह है।

+9

यह 'test' यहाँ उपयोग करना बेहतर है (जो होना चाहिए वैसे, तेजी से हो), क्योंकि वास्तविक मिलान परिणाम की आवश्यकता नहीं है। – kangax

3

कोई नहीं है, लेकिन आप indexOf को अपने स्वयं के विकास के लिए शुरुआती बिंदु के रूप में देख सकते हैं, और/या regular expressions देखें। JavaScript string functions के साथ स्वयं को परिचित करना एक अच्छा विचार होगा।

संपादित करें: यह जवाब दिया गया है से पहले: .indexOf("foo") और उसके बाद सूचकांक की जाँच करें:

Emulating SQL LIKE in JavaScript

12

सं

आप उपयोग करना चाहते हैं। यदि यह> = 0 है, तो इसमें वह स्ट्रिंग शामिल है।

+2

यदि मामला अलग है, तो यह काम नहीं करेगा। आपको इसका उपयोग करने की आवश्यकता है: 'myString.toLowerCase()। IndexOf ("foo") ' – CommandZ

0

नहीं, कोई नहीं है।

तुलना ऑपरेटरों की सूची यहां सूचीबद्ध है।

Comparison Operators

आपकी आवश्यकता के लिए सबसे अच्छा विकल्प regular expressions होगा।

1

आप जो निकटतम प्राप्त कर सकते हैं वह नियमित अभिव्यक्तियों का उपयोग कर रहा है। वेब पर कई उदाहरण हैं (जैसे this one)।

14

उपयोग स्ट्रिंग मैच विधि वस्तुओं:

// Match a string that ends with abc, similar to LIKE '%abc' 
if (theString.match(/^.*abc$/)) 
{ 
    /*Match found */ 
} 

// Match a string that starts with abc, similar to LIKE 'abc%' 
if (theString.match(/^abc.*$/)) 
{ 
    /*Match found */ 
} 
+0

सबस्ट्रिंग के आधार पर एक स्ट्रिंग से मिलान कैसे करें, उदाहरण के लिए यदि str =" जॉन एडवर्ड " तो मैं फ़ंक्शन का उपयोग कैसे कर सकता हूं दोनों मामलों, जैसे कि str में john => true है, यदि str में edward => को भी सत्य वापस करना चाहिए। – Faizan

+0

धन्यवाद। यह बहुत उपयोगी है। –

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