指的是这个问题:
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('this is not valid email'); e.preventDefault(); return false; }
});
});
答案 0 :(得分:21)
您可能希望使用像described here这样的正则表达式来检查格式。提交表单后,在每个字段上运行以下测试:
var userinput = $(this).val();
var pattern = /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i
if(!pattern.test(userinput))
{
alert('not a valid e-mail address');
}
答案 1 :(得分:3)
此正则表达式可以帮助您根据gmail.com使用的所有条件检查您的电子邮件地址。
var re = /^\w+([-+.'][^\s]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var emailFormat = re.test($("#email").val());// this return result in boolean type
if (emailFormat) {}
答案 2 :(得分:0)
在javascript中,您可以使用许多javascript函数(例如onkeyup(),onchange()等)轻松地验证电子邮件!调用函数后,使用javascript的RegExp验证电子邮件,如下所示。
RegExp(/ ^((“ [\ w- \ s] +”)|([\ w-] +(?:。[\ w-] +))|(“ [\ w- \ s] +“)([\ w-] +(?:。[\ w-] +)))(@((?:[\ w-] +。)* \ w [\ w -] {0,66})。([[az] {2,6}(?:。[az] {2})?)$)|(@ [?((25 [0-5]。| 2 [ 0-4] [0-9]。| 1 [0-9] {2}。| [0-9] {1,2}。)))((25 [0-5] | 2 [0-4] [0-9] | 1 [0-9] {2} | [0-9] {1,2})。){2}(25 [0-5] | 2 [0-4] [0-9 ] | 1 [0-9] {2} | [0-9] {1,2})]?$)/ i);
以上语法用于验证javascript中的电子邮件。有关详细说明,请查看https://www.htmlhints.com/article/10/email-validation-in-javascript-using-regular-expression-with-match
答案 3 :(得分:0)
Email: {
group: '.col-sm-3',
enabled: false,
validators: {
//emailAddress: {
// message: 'Email not Valid'
//},
regexp: {
regexp: '^[^@\\s]+@([^@\\s]+\\.)+[^@\\s]+$',
message: 'Email not Valid'
},
}
},
答案 4 :(得分:0)
这:/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i
在Gmail以下情况下不起作用
gmail。@ gmail.com gmail @ .gmail.com
正则表达式下面将覆盖所有电子邮件点:由于正则表达式下面,我已经尝试了所有可能的点,并且我的测试用例也通过了
我从以下URL找到了此解决方案:
/(?:((?:[\w-]+(?:\.[\w-]+)*)@(?:(?:[\w-]+\.)*\w[\w-]{0,66})\.(?:[a-z]{2,6}(?:\.[a-z]{2})?));*)/g
答案 5 :(得分:-2)
function mailValidation(val) {
var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!expr.test(val)) {
$('#errEmail').text('Please enter valid email.');
}
else {
$('#errEmail').hide();
}
}