我有一個搜索功能。我想檢查用戶是否輸入帶有點(。)的文本字/句子。使用正則表達式匹配帶點符號的單詞javascript
Example:
-anyword.anyword.
-.
-.anyword
有一次,我發現他/她進入在其上有一個點,我會考慮爲無效的值。
我知道我可以使用regexp來做到這一點,但我仍然在學習它。所以任何人都可以在這裏給我一個亮點,不勝感激:)。
我有一個搜索功能。我想檢查用戶是否輸入帶有點(。)的文本字/句子。使用正則表達式匹配帶點符號的單詞javascript
Example:
-anyword.anyword.
-.
-.anyword
有一次,我發現他/她進入在其上有一個點,我會考慮爲無效的值。
我知道我可以使用regexp來做到這一點,但我仍然在學習它。所以任何人都可以在這裏給我一個亮點,不勝感激:)。
您可以使用String#indexOf
:
if (theString.indexOf(".") !== -1) {
// It has a dot
}
但是,如果你真的想使用正則表達式(這將是矯枉過正的只是找到一個.
):
if (/\./.test(theString)) {
// It has a dot
}
的/\./
部分是定期表達。開始和結束/
是正則表達式分隔符,如"
和'
是用於字符串。正則表達式的內容是\.
在.
之前我們需要反斜槓,否則在正則表達式中,.
表示「匹配任何字符」。它之前的反斜槓「逃脫」它並告訴正則表達式與字面匹配。 (我們不需要,在String#indexof
例子,因爲indexOf
不具有任何.
特殊處理。)
最好採用String
然後Regexp
indexOf
功能這是Regexp
將在此scnerio矯枉過正:
使用MyString.indexOf('.')
如果它返回-1字符串中沒有點。如果返回值是一些像0,1,2等的整數,它給出了字符串中Dot的位置。所以-1告訴,有沒有點
例子:
if(MyString.indexOf('.') === -1)
{
//No Dot is there, continue search
}
else
{
//Invalid string, dot is present
}
試試這個
的indexOf()
方法返回一個字符串指定值的第一次出現的位置。
如果搜索的值永遠不會發生,則此方法返回-1
。
var str = "test.test";
if(str.indexOf('.') === -1){
alert("no dot found.");
}
else{
alert("dot found.");
}
'如果(/\./.test(str)){...}' – elclanrs 2013-03-15 07:51:46
@elclanrs,這是一個答案... – gdoron 2013-03-15 07:52:34
測試你與http://www.gskinner.com/正則表達式RegExr /因爲其易於使用和有益的學習。 – 2013-03-15 07:53:24