2013-06-28 61 views
-1

我想限制發送包含電子郵件地址,或任何URL消息的用戶。檢查用戶消息是否包含電子郵件地址或URL

任何寶貴意見?

+4

如果目的是爲了防止垃圾郵件,請記住,垃圾郵件發送者往往不使用實際的網頁,而是直接將消息發送到服務器,這意味着你應該做的服務器上的驗證,而不是機器人與JavaScript/jQuery。 – JJJ

+0

進一步什麼Juhana說,無論你的關心是否爲垃圾郵件,你應該總是在服務器上進行驗證,但你可以選擇做驗證客戶端,以及使用戶體驗更好。 – nnnnnn

回答

1

你應該瞭解什麼正則表達式(正則表達式)是,他們是驗證用戶輸入非常有用的!
它只是谷歌

但這裏將是你的問題的解決方案:
爲了檢查是否有電子郵件在它:

if(input.search(/\b[a-z0-9._%+?\-][email protected][a-z0-9.-]+?\.[a-z]{2,4}\b/i) == -1) 
{ 
    // Every thing is good 
} 
else 
{ 
    // there is an E-Mail in the input 
} 

URL是有點困難,這取決於如何嚴格你想成爲。
你可能很容易過濾掉那些實際上不是url的東西,但是在這裏你去了。
如果你想成爲非常嚴格:

if(input.search(/\b[a-z0-9.-]+?\.[a-z]{2,4}\b/i) == -1) 
{ 
    // Every thing is good 
} 
else 
{ 
    // there is a url in the input 
} 

這將過濾像"abc.def.de"甚至"a.com"任何東西。

如果像"http://asdf.com"http://www.dfjdsjfisfi.com唯一的東西,應該被過濾使用此:

if(input.search(/\bhttp:\/\/[a-z0-9.-]+?\.[a-z]{2,4}\b/i) == -1) 
{ 
    // Every thing is good 
} 
else 
{ 
    // there is a url in the input 
} 


input應包含消息測試之前使填充的字符串。
例如var input = $("#input_id").val();

希望這有助於。 :)

相關問題