为什么它不接受在@后面加连字符的电子邮件地址?
Why won't this accept email addresses with a hyphen after the @?
这是在我们的网站上注册接收电子邮件新闻更新的代码。它工作得很好,除非电子邮件地址在@后面有一个连字符,然后它会抛出一个错误框:
> The page at http://www.MySite.com says:
>
> Please Fix the following:
>
> E-mail
test-test@test.com可以,但test@test-test.com不行。什么好主意吗?
from email.js
:
function checkSubmit(thisDept){
var email = $('email').value;
var message = "Please Fix the following: 'r'n";
var emailpat = /^([a-zA-Z0-9])+(['.a-zA-Z0-9_-])*@([a-zA-Z0-9])+('.[a-zA-Z0-9_-]+)+$/;
if( !email.match(emailpat) ) {
message += "E-mail 'r'n";
}
if(message == "Please Fix the following: 'r'n"){
submitEmail(email,thisDept);
} else {
alert(message);
}
}
function submitEmail(email,thisDept){
new Ajax.Updater( "EAlertContainer","php/ealerts.php", {
method: 'post', parameters: { email: email } });
}
编辑:感谢你对我发布的原始代码漏洞的所有关注。我可以肯定的是,正确的转义方式是:
mysql_select_db("DATABASE",$dbx);
$email=mysql_real_escape_string ($email);
$queryx = "INSERT into master_email (emailid,cellmail,email) VALUES ('','','".$email."')";
是/否?
试试这个:
var emailpat = /^[^@]+@[^@]+'.[^@'.]{2,}$/;
电子邮件地址应该只有一个@-符号,并且不能是第一个字符。在@之后,你需要至少一个点,后面跟着2个或更多的字母。
是的,这也接受无效的电子邮件地址。如果你想确保用户输入了一个有效的电子邮件地址,你应该发送一封电子邮件到该地址,并等待用户采取行动(即输入电子邮件中的代码)。
编辑
更新了正则表达式,所以域名部分不再局限于罗马字母tld。其他字母也是允许的,尽管可能还不太常见。
试试这个
$queryr = sprintf("SELECT emailid FROM master_email WHERE email LIKE '%s' LIMIT 1",
mysql_real_escape_string($email));
,并对插入查询执行同样的操作。
也,你只是要求SQL注入:p
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 如何在实时网页中用mailto链接替换电子邮件地址
- 匹配Javascript中的几种不同的电子邮件地址格式
- 使用 Javascript 进行电子邮件地址验证在 ASP.net 中不起作用
- 使用不带正则表达式的jscript验证电子邮件地址
- ng变化不会'除非我输入了有效的电子邮件地址,否则我不会因为输入电子邮件而被解雇
- 使用JavaScript或JQuery验证电子邮件地址
- 如何防止电子邮件地址的css自动连字符
- 如何基于电子邮件地址域重定向到电子邮件登录页面
- 将多个电子邮件表单中的电子邮件发送到多个电子邮件地址
- 将回复电子邮件地址更改为队列's在动态crm 2011中的电子邮件地址
- 使用curl命令向sendgrid添加电子邮件地址
- 有没有办法检测电子邮件地址的假域名?使用Perl、php、javascript
- Regex用于有效和无效的电子邮件地址
- 如何在电子邮件地址中排除unicode字符
- 如何在Javascript中验证包含非英语(UTF-8)字符的电子邮件地址
- 为什么它不接受在@后面加连字符的电子邮件地址?
- Regx的电子邮件地址,不应接受2个连续的连字符和句号