相关疑难解决方法(0)

如何使用正则表达式验证电子邮件地址?

多年来,我慢慢开发了一个正则表达式,可以正确验证MOST电子邮件地址,假设他们不使用IP地址作为服务器部分.

我在几个PHP程序中使用它,它大部分时间都可以工作.但是,我不时会遇到使用它的网站遇到问题的人,我最终不得不进行一些调整(最近我意识到我不允许使用4字符TLD).

验证电子邮件的最佳正则表达式是什么?

我已经看到了几个使用函数的解决方案,这些函数使用了几个较短的表达式,但我宁愿在一个简单的函数中使用一个长复杂表达式,而不是在一个更复杂的函数中使用几个短表达式.

regex email validation email-validation string-parsing

3201
推荐指数
44
解决办法
116万
查看次数

使用jQuery进行电子邮件验证

我是jQuery的新手,想知道如何使用它来验证电子邮件地址.

email validation jquery

338
推荐指数
17
解决办法
78万
查看次数

为什么jQuery的电子邮件验证正则表达式如此简单?

我们都知道正确验证电子邮件的正则表达式会非常复杂.但是,jQuery的验证插件有一个较短的正则表达式(由Scott Gonzalez提供),只有几行:

/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])
+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|
((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|
[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]
|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?
(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|
[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*
([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|
[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])
([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|
[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/
Run Code Online (Sandbox Code Playgroud)

与更为人熟知的怪物相比,为什么这么"简单"?是否存在一个正则表达式失败而另一个正式成功的情况(案例是有效还是无效的电子邮件)?

regex email jquery

8
推荐指数
1
解决办法
2536
查看次数

在运行剩余的javascript之前检查有效的电子邮件

我有一个文本框,用户需要插入有效的电子邮件地址.

当用户提交有效的电子邮件地址时,会在回发数据时显示加载图形.

下面的代码适用于显示加载图形,但它不会检查电子邮件地址是否有效.任何人都可以帮忙吗?

$('#btnEmail1Submit').live ("click", function() {
   $('<div class="submitBg"></div>').appendTo(".emailEditContainer");
   $('<div class="submitLoadingCont"><img class="submitLoading" src="images/mypreferences/loading.gif" width="50" height="50" /></div>').appendTo(".emailEditContainer");
});
Run Code Online (Sandbox Code Playgroud)

我想我需要在点击运行的函数周围添加一个if语句 - 所以类似于:

$('#btnEmail1Submit').live ("click", function() {
  if(emailvalid == true) {   
    $('<div class="submitBg"></div>').appendTo(".emailEditContainer");
    $('<div class="submitLoadingCont"><img class="submitLoading" src="images/mypreferences/loading.gif" width="50" height="50" /></div>').appendTo(".emailEditContainer");
  }
});
Run Code Online (Sandbox Code Playgroud)

我正在使用asp.net电子邮件验证 - 它看起来像这样:

<asp:RegularExpressionValidator Display="Dynamic" ValidationGroup="PrimarySubmit" ID="RegularExpressionValidator1" runat="server" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="tbEmail1" ErrorMessage="Invalid email address - " />
Run Code Online (Sandbox Code Playgroud)

javascript validation jquery email-validation

8
推荐指数
2
解决办法
2万
查看次数

检查联系表单中的电子邮件地址格式

我正在使用一个带有名称,电子邮件和评论字段的简单表单来发送来自网页的消息.还有一个隐藏的标题字段,如果你愿意的话,它应该是空的,以便提交表单 - 垃圾邮件保护.

我在提交之前运行表单的JQuery代码工作正常,但目前只在电子邮件地址字段中查找"@"字符.我想要的是更好地检查格式正确的电子邮件地址.

这是代码.

    $(function() {  
    $('.error').hide();  
    $(".button").click(function() {  
    // validate and process form here  

        $('.error').hide();  
        var name = $("input#name").val();  
            if (name == "") {  
            $("label#name_error").show();  
            $("input#name").focus();  
            return false;
        }  
        var email = $("input#email").val();  
            if (!(email.indexOf('@') > 0)) {
            $("label#email2_error").show();  
            $("input#email").focus();  
        return false;  
        }  
        var message = $("textarea#message").val();  
            if (message == "") {  
            $("label#message_error").show();  
            $("textarea#message").focus();  
        return false;  
        } 
        var title = $("input#title").val()
            if(title !== "") {  
            $("input#title").focus();  
        return false;  
        } 

    var dataString = 'name='+ name + '&email=' + email …
Run Code Online (Sandbox Code Playgroud)

forms email jquery

5
推荐指数
1
解决办法
2万
查看次数

将Javascript正则表达式转换为PHP

我知道这个问题已经被问过十几遍了,但是从技术上讲,这不是一个骗子(如果需要,请检查其他问题);)

基本上,我有一个Javascript正则表达式来检查用于前端验证的电子邮件地址,并且我使用CodeIgniter在后端进行双重检查,以防前端验证无法正常运行(例如浏览器问题) 。)这是一个很长的正则表达式,我不知道从哪里开始手动转换它。

我正在寻找一种将JS regexes转换为PHP regexes的工具 -在类似问题的答案中都没有找到一个(当然,这样的工具可能不存在。)好的,我谎言- 其中一个建议使用的工具的价格为39.95美元,但我真的不想花那么多钱来转换单个表达式(并且不,没有上述问题的答案所建议的免费试用。)

这里的JavaScript表达式由aSeptik慷慨地提供

/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i
Run Code Online (Sandbox Code Playgroud)

还有一个我不想使用的CodeIgniter,因为它不遵循相同的规则(不允许使用某些有效地址):

/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix
Run Code Online (Sandbox Code Playgroud)

我想使用PHP中Javascript regex设置的相同规则

我的前端代码说这种电子邮件地址是可以的,然后Codeigniter说不是这样的情况,这当然是我要在应用程序中解决的问题。

感谢您的所有提示!:D

javascript php regex

5
推荐指数
1
解决办法
7894
查看次数

使用 Jquery 插件提交表单时如何在“.(点)”之后验证电子邮件

我正在尝试验证具有电子邮件地址的表单,其 prop 设置为“true”,如图所示:

$( "#myform" ).validate({
  rules: {
   field: {
    required: true,
     email: true
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

我检查了 jquery 插件http://jqueryvalidation.org/email-method/并且我看到电子邮件地址仅在“@”符号(上面链接中的示例)之前得到验证。我正在制作一个电子邮件验证脚本,它基本上只检查完整的电子邮件地址,包括末尾的“点”。任何想法如何实现这一目标?

http://jsfiddle.net/dbnkahee/1/

javascript validation jquery

3
推荐指数
1
解决办法
2244
查看次数