如何在[objective-c]中对用户名进行验证?

pri*_*__y -1 validation objective-c uitextfield ios

我的要求validation是验证username哪个允许输入小的az,0-9,只有两个符号_和.(点)

但符号不重复.

在名称的开头不允许使用符号.

谁能帮我 ??怎么做validation?

我已经尝试过这个代码,但它工作正常,但它重复符号我怎么能避免重复?

- (BOOL)validateString:(NSString*)stringToSearch
{
    NSString *emailRegex = @"[a-z0-9._]{5,15}";
    NSPredicate *regex = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [regex evaluateWithObject:stringToSearch];



}
Run Code Online (Sandbox Code Playgroud)

luk*_*302 5

使用以下正则表达式检查字符是否正确:

^([a-z0-9]+[._])*[a-z0-9]+$
Run Code Online (Sandbox Code Playgroud)

正则表达式可视化

Debuggex演示

另外,单独检查字符串长度.(或使用前瞻)

编辑:好像我误读了一些要求.上面的正则表达式也不允许在名称末尾加上符号.如果要在那里允许符号,请将正则表达式更改为
^([a-z0-9]+[._]?)*$

如果使用谓词,则可以省略前导^和尾随$.