使用特殊字符时的电子邮件正则表达式问题 [英] Email Regular expression issue while using special characters

查看:90
本文介绍了使用特殊字符时的电子邮件正则表达式问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了以下正则表达式来验证我的电子邮件

I have created the following regular expression for validating my email

- (BOOL)isValidEmail
{
    BOOL stricterFilter = YES;
    NSString *stricterFilterString = @"[A-Z0-9a-z\\._%+-]+@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}";
    NSString *laxString = @".+@([A-Za-z0-9]+\\.)+[A-Za-z]{2}[A-Za-z]*";
    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:self];
}

但是当我输入以下内容时它失败了:

But it fails when i enter following:

b. !@#$%^ bfv@mn.cn

我的正则表达式有问题吗?

Is there any issue with my regular expression?

推荐答案

试试这个.这对我来说很完美.

Try this. It's work perfect for me.

 NSString *mailreg=@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *mailtest=[NSPredicate predicateWithFormat:@"SELF MATCHES %@",mailreg];
return [mailtest evaluateWithObject:checkString];

这篇关于使用特殊字符时的电子邮件正则表达式问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆