Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 电子邮件验证程序Javascript_Angularjs_Regex - Fatal编程技术网

Angularjs 电子邮件验证程序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}$/

这是我的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}$/);
            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有一个拼写错误。我的错误。请解释是什么使地址无效。我得到的印象是,你指的是双倍的顶级域名,但我不确定。提供更多的示例输入和期望的结果可能会有所帮助。