【发布时间】:2020-12-23 10:02:23
【问题描述】:
参考这个问题:
How can I set a minimum length for a field with jQuery?,
<form id="new_invitation" class="new_invitation" method="post" data-remote="true" action="/invitations" accept-charset="UTF-8">
<div id="invitation_form_recipients">
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_0"><br>
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_1"><br>
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_2"><br>
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_3"><br>
</div>
<input type="submit" value="Send invitation" name="commit">
</form>
使用 jQuery 为字段设置最小长度的代码是什么?
$('#new_invitation').submit(function(event) {
if ($('#invitation_form_recipients input').filter(function() {
return $(this).val();
}).length == 0) {
// All the fields are empty
// Show error message here
// This blocks the form from submitting
event.preventDefault();
}
});
如何使用 jQuery 验证每个字段输入是否具有有效的电子邮件地址?在上面的代码中?
解决方案!
$('#new_invitation').submit(function(e) { $('#invitation_form_recipients input').each(function(e) { email_address = $(this); email_regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i; if(!email_regex.test(email_address.val())){ alert('这不是有效的电子邮件'); e.preventDefault();返回假; } }); });【问题讨论】:
-
一般关于通过正则表达式验证电子邮件的难度stackoverflow.com/q/156430/925580
-
上述模式不验证 RFC5322 中指定的正确电子邮件地址,并且具有误导性。如果您在实时网站上使用它,您将阻止有效用户。地址的本地部分允许使用特殊字符!#$%&'*+-/=?^_`{|}~ 请参阅stackoverflow.com/questions/2049502/… 和tools.ietf.org/html/rfc5322
-
等等,你所接受的答案是什么,或者“解决方案!”参与您的问题?
标签: jquery