多年来,我慢慢开发了一个正则表达式,可以正确验证MOST电子邮件地址,假设他们不使用IP地址作为服务器部分.
我在几个PHP程序中使用它,它大部分时间都可以工作.但是,我不时会遇到使用它的网站遇到问题的人,我最终不得不进行一些调整(最近我意识到我不允许使用4字符TLD).
验证电子邮件的最佳正则表达式是什么?
我已经看到了几个使用函数的解决方案,这些函数使用了几个较短的表达式,但我宁愿在一个简单的函数中使用一个长复杂表达式,而不是在一个更复杂的函数中使用几个短表达式.
有谁知道如何在Swift中验证电子邮件地址?我找到了这段代码:
- (BOOL) validEmail:(NSString*) emailString {
if([emailString length]==0){
return NO;
}
NSString *regExPattern = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSRegularExpression *regEx = [[NSRegularExpression alloc] initWithPattern:regExPattern options:NSRegularExpressionCaseInsensitive error:nil];
NSUInteger regExMatches = [regEx numberOfMatchesInString:emailString options:0 range:NSMakeRange(0, [emailString length])];
NSLog(@"%i", regExMatches);
if (regExMatches == 0) {
return NO;
} else {
return YES;
}
}
Run Code Online (Sandbox Code Playgroud)
但我不能把它翻译成斯威夫特.
如果有可能,我是否应该接受用户发送的此类电子邮件以及我将邮件发送到此类地址时会遇到哪些问题?
可能重复:
电子邮件地址中允许使用哪些字符?
我有一个带撇号的电子邮件地址,我想知道这是否有效?
数据导入是从访问数据库完成的,电子邮件地址字段没有验证.有没有人有一个可以返回无效电子邮件地址列表的sql脚本(缺少@等).
谢谢!
我有一大堆我正在浏览的电子邮件.很多电子邮件都有拼写错误.我正在尝试构建一个检查有效电子邮件的字符串.
这就是我对正则表达式的看法.
def is_a_valid_email?(email)
(email =~ /^(([A-Za-z0-9]*\.+*_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\+)|([A-Za-z0-9]+\+))*[A-Z??a-z0-9]+@{1}((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,4}$/i)
end
Run Code Online (Sandbox Code Playgroud)
如果电子邮件为下划线且只有一个句点,则会通过.我有很多电子邮件,名称本身有一个以上的句号.我如何在正则表达式中检查它.
hello.me_1@email.com # <~~ valid
foo.bar#gmail.co.uk # <~~~ not valid
f.o.o.b.a.r@gmail.com # <~~~valid
f...bar@gmail.com # <~~ not valid
get_at_m.e@gmail #<~~ valid
Run Code Online (Sandbox Code Playgroud)
有人可以帮我改写我的正则表达式吗?
有谁知道ASP.NET中的电子邮件验证程序使用的正则表达式是什么?
我正在尝试制作一个包含一个电子邮件输入,一个复选框输入和一个提交输入的html5表单.我正在尝试使用模式属性进行电子邮件输入,但我不知道在此属性中放置什么.我知道我应该使用一个必须与JavaScript Pattern生产匹配的正则表达式,但我不知道如何做到这一点.
我试图让这个属性做的是检查以确保电子邮件包含一个@和至少一个或多个点,如果可能,检查@后面的地址是否是真实地址.如果我不能通过这个属性做到这一点,那么我将考虑使用JavaScript但是为了检查一个@和一个或多个点,我确实想要使用pattern属性.
pattern属性需要检查:
这个的替代方法是使用JavaScript但是对于所有其他条件我不想使用JavaScript
我有一个非常大的.txt文件,其中包含数十万个电子邮件地址.他们都采用以下格式:
...<name@domain.com>...
Run Code Online (Sandbox Code Playgroud)
让Python在整个.txt文件中循环查找某个@domain字符串的所有实例,然后在<...>中获取整个地址,并将其添加到的最佳方法是什么?一个列表?我遇到的麻烦是不同地址的可变长度.
我的文本字符串如下所示:
johndoe@domain.com (John Doe)
Run Code Online (Sandbox Code Playgroud)
我需要在@之前得到正确的部分而不是别的.如果重要的话,文本来自一个简单的XML对象.
我的代码看起来像这样:
$authorpre = $key->{"author"};
$re1 = '((?:[a-z][a-z]+))';
if ($c = preg_match_all ("/".$re1."/is", $authorpre, $matches))
{
$author = $matches[1][0];
}
Run Code Online (Sandbox Code Playgroud)
有时用户名可能在@符号前面有数字或下划线,这正是正则表达式停止的地方.
email ×7
validation ×5
regex ×4
asp.net ×1
html-email ×1
html-input ×1
html5 ×1
ios ×1
non-english ×1
php ×1
preg-match ×1
python ×1
ruby ×1
sql ×1
string ×1
swift ×1