我在我的javascript中有以下电子邮件验证器,但@在MVC3中被误解了:
function validateEmail(emailAddress) {
var emailPattern = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/";
return emailPattern.test(emailAddress);
}
Run Code Online (Sandbox Code Playgroud)
有没有解决的办法?我尝试使用斜杠来逃避at符号,但这不起作用.
我按照wiki添加了一个带有设计的自定义电子邮件验证器。它有效,但每次验证都会打印两次错误,如下所示。如何解决这个问题?

更新:评论中链接的答案不起作用。仅当所有验证都在一次验证调用中完成时,它可能才有效。就我而言,一项验证是通过设计完成的,其他验证是由我添加的。需要明确的是,该模型如下所示:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
attr_accessible :email, :name
before_save do |user|
user.email = email.downcase
end
validates :name, presence: true, length: { maximum: 50 }
validates :email, email: true, presence: true, reduce: true # This causes 'Email is Invalid' to be …Run Code Online (Sandbox Code Playgroud) validation ruby-on-rails email-validation devise ruby-on-rails-3
我想在文本文件中找到有效的电子邮件地址,这是我的代码:
email = re.findall(r'[a-zA-Z\.-]+@[\w\.-]+',line)
Run Code Online (Sandbox Code Playgroud)
但我的代码显然不包含@符号前有数字的电子邮件地址。而且我的代码无法处理没有有效结尾的电子邮件地址。那么有人可以帮我解决这两个问题吗?谢谢!
我的问题的一个例子是:
我的代码可以找到此电子邮件:xyz@gmail.com
但它找不到这个:xyz123@gmail.com
它也无法过滤掉这封电子邮件:xyz@gmail
我正在尝试创建一个验证电子邮件地址的表单。“提交”按钮不起作用,或者是电子邮件验证脚本导致了问题。我是编码新手,需要一些帮助。先感谢您!
<!doctype html>
<html>
<head>
<title>JQuery Lesson</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js">
</script>
<style>
#wrapper{
margin: 0 auto;
width: 500px;
font-family: helvetica;
font-size: 1.2em;
}
#error {
color: red;
margin: 20px;
}
#email {
height: 30px;
width: 300px;
border-radius: 20px;
padding-top: 10px;
margin-bottom: 15px;
font-size: 1.2em;
float: none;
margin: 0 auto;
}
#phone {
height: 30px;
width: 300px;
border-radius: 20px;
padding-top: 10px;
margin-bottom: 15px;
font-size: 1.2em;
float: none;
margin: 0 auto;
} …Run Code Online (Sandbox Code Playgroud) 可能重复:
验证电子邮件地址的最佳正则表达式是什么?
我正在使用这个特定的正则表达式来检查电子邮件.
"^[A-Za-z0-9](([a-zA-Z0-9,=\.!\-#|\$%\^&\*\+/\?_`\{\}~]+)*)@(?:[0-9a-zA-Z-]+\.)+[a-zA-Z]{2,9}$"
Run Code Online (Sandbox Code Playgroud)
我的问题是,这允许在"@"符号之前的句点.是否有任何方式修改此表达式,以便不会发生这种情况,但仍保留所有其他条件.
a.@ b.com应无效
在此先感谢-Rollin
我想检查一个电子邮件地址是否有效并且存在.
我的意思是不使用正则表达式.我需要一个使用mx的valitadion.
例如如何在gmail.com上检查blablabla [at] gmail.com
使用CMD会更好(赢)
我试图找到一种简单的方法来检查用户的输入是否符合电子邮件地址的几个标准.我已经阅读了很多有关此主题的主题,而且大多数人似乎也希望验证电子邮件地址.我不打算建立一些超级电子邮件地址验证器/检查器.我正在尝试构建一个检查这些东西的方法:
我知道这不是一个包罗万象的电子邮件地址检查程序.这不是我想要的.我想要这么简单.我知道这可能是一个常规问题,但即使在阅读了所有严重疯狂的验证电子邮件地址的方法之后我也无法弄明白.
这是我到目前为止的代码:(别担心我已经知道它非常可怜......)
public static void checkEmail()
{
validEmail(emailAddresses);
if(validEmail(emailAddresses))
{
}
}
public static boolean validEmail(String email) {
return email.matches("[A-Z0-9._%+-][A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{3}");
}
Run Code Online (Sandbox Code Playgroud) 我想知道允许"+"字符作为电子邮件地址的一部分是一个好习惯吗?我有一个用Java编写的应用程序,当在Servlet中解析(url编码/解码)时,带有"+"符号的电子邮件地址会转换为其他内容.
我正在尝试找出一个很好的验证,以便在我的迁移中使用,这需要对用户电子邮件地址不区分大小写.简而言之,我想要的东西就像validate :email, :uniqueness => {:case_sensitive => false}无需转换所有东西来使用Rails或ActiveRecord.我可以通过正则表达式运行电子邮件,但我不喜欢这种解决方案.
我找到了一条评论[1]说你可以使用,
validates_unique(:email){ |ds| ds.opts[:where].args.map! { |x| Sequel.function(:lower, x)}; ds}
但我不明白那段代码在做什么,当我不知道那个ds对象是什么或者一切都在发生时我不想使用那些代码(为什么map!, PostgreSQL拥有Sequel.function的:lower?......也许,但我不知道.)
[1] http://comments.gmane.org/gmane.comp.lang.ruby.sequel/6447
所以我需要回答两件事之一:
1)如何在纯粹的Sequel.migration(没有ActiveRecord,没有Rails)中执行不区分大小写的唯一性验证?
- 或者 -
2)如果我在网上发现的代码片段实际上是我想要的,它做什么以及它是如何工作的?(ds对象是什么以及此验证对我的数据库有何作用?)
我正在尝试在表单字段中使用jQuery进行电子邮件验证
$(document).ready(function() {
var email = new RegExp("[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$");
var value = $("#email_address").val();
$("#email_address").on("keypress", function() {
if(email.test(value)) {
$("#email_address").parent().addClass("has-success");
}
});
});
Run Code Online (Sandbox Code Playgroud)
但是,该has-success课程没有添加.我已经在控制台中单独尝试了每行代码,他们似乎都在做/指向正确的事情.当它全部放在一起时它似乎不起作用.