检查字符串是不是包含字母数字

Posted

技术标签:

【中文标题】检查字符串是不是包含字母数字【英文标题】:Check if String contains alphanumeric检查字符串是否包含字母数字 【发布时间】:2014-09-20 10:50:30 【问题描述】:

我想检查字符串是否仅包含字母数字。(仅包含字母和数字)。 我尝试使用NSCharacterSet *strCharSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"];

我也试过这个NSString *string = @"[^a-zA-Z0-9]"; = 不走运

但它只检查字符串是否不包含任何字符或仅包含此字符。我需要要求用户输入字母和数字。

-更新 我有一个密码文本字段。我需要用户输入字母和密码。但我无法检查文本字段是否同时包含字母和数字。通过使用上面的代码,它只检查文本字段的文本是否只包含字母数字。

【问题讨论】:

试试这个链接***.com/questions/7541803/… 它的工作原理相同,它只允许用户输入字母数字,我想要的是要求用户输入数字和字母。 您还没有真正展示足够的代码来了解您的检查方式或您要完成的工作。另请注意,您的方法将仅限于英语,并且在大多数其他语言中都失败了。 显示你正在使用的所有代码。如果您需要 2 次不同的检查,请不要合并用于进行这些检查的数据... 试试这个 [String rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound && [String rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound 【参考方案1】:

您只需要将数字和字母的支票分开。

BOOL containsLetter = NSNotFound != [input rangeOfCharacterFromSet:NSCharacterSet.letterCharacterSet].location;
BOOL containsNumber = NSNotFound != [input rangeOfCharacterFromSet:NSCharacterSet.decimalDigitCharacterSet].location;

NSLog(@"Contains letter: %d\n Contains number: %d", containsLetter, containsNumber);

【讨论】:

以上是关于检查字符串是不是包含字母数字的主要内容,如果未能解决你的问题,请参考以下文章

C++ 检查字符串是不是包含至少 1 个数字和 1 个字母

Lua:如何检查字符串是不是只包含数字和字母?

如何检查一个php字符串是不是只包含英文字母和数字?

检查输入字符串是不是包含javascript中的数字

用于检查字符串是不是严格字母数字的正则表达式

如何在 Java/Kotlin 中检查字符串是不是包含非 KSC5601 字母?