Как вы пишете регулярные выражения для действительного имени пользователя для swift? - PullRequest
0 голосов
/ 12 мая 2018

Вот некоторые требования для того, чтобы быть действительным именем пользователя:

  1. Без специальных характеристик
  2. Разрешить подчеркивание
  3. Без пробелов
  4. Буквы и цифрыот 1 до 13 символов

Ответы [ 5 ]

0 голосов
/ 12 мая 2018

Попробуйте это:

Objective-C

- (BOOL)checkValidation:(UITextField *)textField
{
    NSString *rejex = @"^[a-zA-Z0-9_]{1,13}$";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", rejex];

    //if rejex fullfil than it will return true else false.
    return [emailTest evaluateWithObject:textField.text];
}

Swift

 func checkValidation(testStr:String) -> Bool {        
    let emailRegEx = "^[a-zA-Z0-9_]{1,13}$"

    let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
    return emailTest.evaluate(with: testStr)
}
0 голосов
/ 12 мая 2018

RegEx Начинается с char ^ и заканчивается $ между ними - правила

[a-z0-9_-] правило для символов (a-z) и цифр (0-9) + подчеркивание, дефис {1,13} правило для длины не менее 1 символа и максимальной длины 13

Удлинение строки:

 extension String {
        var isValidUserName : Bool {
            let userNameRegEx = "^[a-z0-9_-]{1,13}$"

            let userNameChecker = NSPredicate(format:"SELF MATCHES[c] %@", userNameRegEx)
            return userNameChecker.evaluate(with: self)
        }
    }

Результат:

print("userName_1".isValidUserName) //True
print("user name".isValidUserName) //False  Space
print("username123248632".isValidUserName) //False  size
print("uerName#$1".isValidUserName) //False  Special characteristics
print("uerName`d".isValidUserName) //False  Special characteristics
0 голосов
/ 12 мая 2018

Попробуйте это:

/^[a-zA-Z0-9]+([a-zA-Z0-9](_|)[a-zA-Z0-9])*[a-zA-Z0-9]+$/
0 голосов
/ 12 мая 2018

Пожалуйста, попробуйте это,

^[a-zA-Z0-9_]{1,13}$

[a-zA-Z0-9 _] Позволяет использовать только буквы от a до z, заглавные от A до Z, цифры от 0 до 9 с подчеркиванием _

{1,13} Разрешить длину строки от 1 до 10 букв и цифр

0 голосов
/ 12 мая 2018
^\w{1,13}$

^ начало привязки строки

\ w символ слова - любая буква (включая UTF-8), любой регистр, 0-9 иподчеркивание

{1,13} длина от 1 до 13, включительно

$ конец якоря строки

https://regex101.com/ - хороший ресурс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...