[英]Email address check in Javascript
我想很多人之前做過類似的開發任務:
我想查看人們的電子郵件地址是否只匹配@ tomtom.com或@ stream.com。
目前,我腦子里有兩個解決方案:
使用indexof()
函數
var checkTomTomEmail=eo.data.username.indexOf("@tomtom.com"); var checkStreamEmail=eo.data.username.indexOf("@stream.com"); if (checkTomTomEmail >0 || checkStreamEmail >0 ) { //Run the login code } Else { //Please login with your tomtom or stream email }
使用匹配
var patt1=/@tomtom.com/gi; var patt2=/@stream.com/gi; var checkTomTomEmail=eo.data.username.match(patt1); var checkStreamEmail=eo.data.username.match(patt2); if(indexOf(checkTomTomEmail)> 1 ||indexOf (checkStreamEmail)>1) { //Login }
我仍然認為我還沒有考慮所有的細節。 有什么建議?
謝謝
也許如果只允許人們為這兩個地址輸入電子郵件,您應該只收集用戶名,然后允許他們使用radiobuttons選擇@ tomtom.com或@stream.com。
如果您仍想使用javascript路由,那么您的正則表達式可以合並為一個語句
var emailPatt=/@(tomtom|stream).com/gi;
if(emailPatt.test(eo.data.username))
{
//Login
}
這個怎么樣...
var emailRegex = /^([0-9a-z])+@(tomtom|stream)\.com$/ig;
if (emailRegex.test(emailRegex)) {
// Login
}
而不是執行.match(...) - 你將獲得一個字符串,我們可以執行.test(...)來查看是否匹配。
此模式保證以下內容:
您可以進一步自定義,確保用戶名必須至少包含3個字符,您可以在電子郵件地址中使用下划線或短划線等。
要回答您的問題,兩種解決方案都無法解決。 原因:
有關正則表達式的更多信息: http : //www.regular-expressions.info/reference.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.