メールの検証に次のリンクを使用しています: http://jquerybyexample.blogspot.com/2011/04/validate-email-address-using-jquery.html
この関数を使用して、js を使用してメール アドレスを検証しています。
validateEmail = (sEmail) ->
filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
if filter.test(sEmail)
true
else
false
$(document).ready (e) ->
$("#invitation_form").submit ->
sEmail = $("#invitation_email").val().split(',')
email=0
for email in [0..sEmail.length]
if $.trim(email).length is 0
$("h2").append("<div class='alert alert-error'>Please review the problems below</div>")
$("#invitation_email").attr("placeholder", "Email can't be blank")
return false
if validateEmail(email)
else
alert sEmail
email++
# $("h2").append("<div class='alert alert-error'>Please review the problems below</div>");
# $("#invitation_email").val('')
# $("#invitation_email").attr("placeholder", "Please enter valid email")
# return false
電子メールを 1 つだけ入力した場合、これは電子メールを適切に検証しています。しかし、私の電子メール テキスト フィールドには、コンマで区切られた多数の電子メールを入力し、各電子メールを個別に検証する必要があります。そのために、split(',') を配置し、for ループを追加しましたが、検証は適切に行われません。「example1@email.com、example2@email.com」と入力すると、無効なメール用のelseブロックに入ります。アラートでは、個々のメールを受信していますが、各メールを個別に検証する方法がわかりません。誰かがこれで私を助けてくれますか? 前もって感謝します。