2011-03-11 41 views
1

如何修改此腳本以便檢查並確保它包含確切的字符串「abc」?正則表達式檢查特定字符串

(/^[a].*/i.test(mystring)) 

它需要不區分大小寫,並採取下限和上限。

+1

正如我在我之前的回答中所說的,http://regular-expressions.info/是學習正則表達式的好資源。用它!問題:你想測試'mystring' **是否包含**'abc'或者它是否等於**到'abc'? – 2011-03-11 14:45:22

+0

@Felix,問題詢問*確切的字符串*「abc」。 @detonate,爲什麼你會想要在@Brad在他的答案中提到的簡單文本比較的正則表達式的開銷和複雜性? – 2011-03-11 15:30:38

+0

@Ken White:但它也說*包含*。只有OP可以回答這個問題。 – 2011-03-11 15:31:39

回答

1

只是這樣做:

/^abc$/i.test(mystring); 
+3

我想什麼@detonate的意思是/abc/i.test(mystring) – 2011-03-11 14:44:36

+0

@Alexey:也許,但他確實寫了「確切的字符串」... – 2011-03-11 14:46:42

+2

也可以用'mystring.toLowerCase()=== 「abc''。 – 2011-03-11 14:48:04

3

雖然你can use regex,我覺得這是更適合.toLowerCase & .indexOf

var hasABC = ("myabcstring".toLowerCase().indexOf("abc") !== -1); 

正則表達式似乎有點小題大做了我。


回答一個評論:

var mystring = "FoOaBcBaR"; 
function checkForABC(){ 
    if (mystring.toLowerCase().indexOf('abc') != -1) 
    alert('found ABC!'); 
    else 
    alert('Did NOT find ABC'); 
} 
checkForABC(); 

Demo

+0

布拉德做了一個編輯。它需要檢查大寫和小寫。 – detonate 2011-03-11 17:07:25

+0

@detonate:它的確如此,這就是爲什麼它將原始字符串轉換爲小寫字母,然後對小寫比較器進行測試。 (除非我誤解,在這種情況下,示例總是很好) – 2011-03-11 17:10:16

+0

如何將這個包含在使用條件的函數中? – detonate 2011-03-11 17:13:57

1

如果它是一個直串簡單的檢查,使用像

var exists = (mystring.toLowerCase().indexOf('abc') > -1); 

東西爲了避免過多的正則表達式因爲他們通常會使用更多的資源urces。

+1

進行了編輯。它需要檢查上蓋和下蓋。 – detonate 2011-03-11 17:06:58

0

認爲你正在尋找的正則表達式是;

^abc$ 

希望有所幫助。

+0

Desi做了一個編輯。它需要檢查上蓋和下蓋。 – detonate 2011-03-11 17:06:26

+0

好酷。真高興你做到了。 – Desi 2011-03-16 10:15:50

相關問題