簡體   English   中英

檢查輸入值是否帶有“。”(點)(JavaScript)

[英]Check if input value has a “.” (dot) (Javascript)

好的,所以我正在這里處理此聯系表單,並且一切似乎都運行良好。 它檢查電子郵件地址是否帶有以下代碼的“ @”符號:(這是一個函數,為簡便起見,此處未顯示)。

JS:

var at = "@";

if (email.indexOf(at) == -1 || email.indexOf(at) == 0) {
   success = false;
   document.getElementById("email-error").innerHTML = "That's not an email!";
   document.getElementById("email-good").innerHTML = "";
 }

HTML:

<input onfocus="return validation()" type="text" name="email" id="email"><span id="email-error"></span><span id="email-good"></span>

我想檢查是否有一個“。” 包含以下代碼的電子郵件值中的(點),但不起作用!

  var at = "@";
  var dot = ".";
if (email.indexOf(at) == -1 || email.indexOf(at) == 0 || email.indexOf(dot) == -1 ||    email.indexOf(dot) == 0) {
success = false;
document.getElementById("email-error").innerHTML = "That's not an email!";
document.getElementById("email-good").innerHTML = "";
}

另外,如果可能,是否有辦法檢查是否有多個“ @”或“。”。 我已經嘗試了>和!= 1。

如果您嘗試使用javascript檢查有效的電子郵件地址,強烈建議您使用正則表達式檢查。

有關更多信息,請參見以下文章: 在JavaScript中驗證電子郵件地址?

有沒有一種方法可以檢查是否有多個“ @”或“。”。

是的,您可以執行String.prototype.split並檢查length

var email = 'a@b.c';

if (email.indexOf('@') < 1 || // @ index -1 or 0
    email.split('@').length > 2 || // more than one @
    email.indexOf('.') < 1) { // . index -1 or 0
    success = false;
    // etc
}

請記住,某些電子郵件地址可以有多個. ,例如someone@ukogbani.co.uk ,除非您向其發送郵件並獲得預期的響應,否則您將無法驗證地址是否存在。

一個非常簡單的RegExp檢查是/^[^ @]+@[^ @]+$/ ,因為除非它是一個非常特殊的電子郵件地址,否則它不會包含空格或多個@符號,但可能歸所有者所有,例如tld com ,例如tldadmin@com

if(filter_var($ _ POST ['email'],FILTER_VALIDATE_EMAIL)){

   $email = $_POST['email'];
  } 
  else {
  exit("The Email Address you have entered is not valid.");
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM