根据iOS键盘语言

时间:2017-06-26 14:45:44

标签: ios swift

我正在尝试验证文本框中的每个字符是否仅限于语言的键盘选项。这意味着在英语中,您只能输入可通过iOS键盘访问的字符。如果有一个包含所有字符的字符串或代码解决方案 - 任何一个都可以。 谢谢你的帮助。

3 个答案:

答案 0 :(得分:0)

尝试这样的事情。让我知道它是否有帮助:)祝你好运!

    let letters = CharacterSet.letters
    let text = textField.text
    let range = text.rangeOfCharacters(from: letters)
    if range != nil {
      // Yay it's correct
    }else{
      // Oh no
    }

CharacterSet文档为要限制字段的字符提供了多个选项。你甚至可以制作自己的角色集!查看链接:https://developer.apple.com/documentation/foundation/characterset

答案 1 :(得分:0)

你可以这样检查(是Swift):

let charactersSet = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
if yourString.rangeOfCharacter(from: charactersSet.inverted) != nil {
    print("string contains special characters")
}

答案 2 :(得分:-1)

你可以尝试一下这样的事情:

NSString *inputString = @"abc0129yourcontent";
BOOL success = [inputString isMatchedByRegex:@"^[0-9a-zA-Z]+$"];

如果需要,您可以在Swift中进行转换。