Angularjs 电子邮件验证程序Javascript
这是我的javascript代码Angularjs 电子邮件验证程序Javascript,angularjs,regex,Angularjs,Regex,这是我的javascript代码 $scope.isValidEmailAddress = function(emailAddress) { // var pattern = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/); var pattern = new RegExp(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/
$scope.isValidEmailAddress = function(emailAddress) {
// var pattern = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/);
var pattern = new RegExp(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/);
return pattern.test(emailAddress);
};
当我验证下面的电子邮件时,它将返回true,但事实并非如此,我需要验证这种类型的电子邮件
rohan@yahoo.co.in.in
它应该是无效的电子邮件根据评论更新 如果你想让两个顶级域名相加成为可能,你可以选择第二个域名
$scope.isValidEmailAddress = function(emailAddress) {
// Same regex as before but an additional TLD regex has been added.
var pattern = new RegExp(/^[\w\-\.\+]+\@[a-zA-Z0-9\-]+\.([a-zA-z0-9]{2,4}\.)?[a-zA-z0-9]{2,4}$/);
return pattern.test(emailAddress);
};
从jquery验证插件的电子邮件方法获取regexp:
但如果电子邮件地址如下所示:rohan@yahoo.co.in它给出了错误的值。是否只允许@symbol后面最多有两个点字符?@shiva有一个拼写错误。我的错误。请解释是什么使地址无效。我得到的印象是,你指的是双倍的顶级域名,但我不确定。提供更多的示例输入和期望的结果可能会有所帮助。