我试图将文本视图字符限制为英语。但如果我复制并粘贴非英语字符,我的文本视图就会接收这些条目。谁能帮我解决这个问题。UITextView应该只接受英文字符(包括特殊字符、数字和空格)。或者,当我点击done时,如果textview包含非英语字符,它应该验证并向我发送错误消息。
提前谢谢。
下面是我的代码
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField == yourTextField)
{
NSCharacterSet *invalidCharSet = [[[NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"] invertedSet] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
}
else
return YES;
}
此代码不允许我输入空格和特殊字符。需要帮忙解决这个问题。
我想(还没试过)你可以getCharacters:
ofstring
并迭代它们,然后在允许的字符集上调用characterizemember:
,以验证每一个字符。如果有任何失败,则返回NO
。
//我希望它会为你工作
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField == yourTextField)
{
NSCharacterSet *s = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_!@#$%^&*()-+="];
s = [s invertedSet];
NSRange r = [string rangeOfCharacterFromSet:s];
if (r.location != NSNotFound) {
// alert code here
return NO;
} else {
return YES;
}
}
else
return YES;
}
我创建了以下正则表达式: 它应该接受字母数字、空格和撇号。输入应至少为1个字符,最多为24个字符。但它也只接受带撇号和空格的输入(例如,
朋友们,可以在一个正则表达式中验证特殊字符的最小值、大写字母的最小值和数字的最小值吗? 字符串示例: 我想要的是: 我想要一个正则表达式来验证至少2个特殊字符、2个数字和2个大写字母
代码可以很好地删除数字,但我不知道该使用什么regex,所以它也可以替换标点符号(例如`,!,],[等等) 有人能帮帮我吗?
我试图验证一个字符串,它应该只包含字母、数字和特殊字符。为此,我尝试使用正则表达式。 在使用上述代码时,字符串是有效的。但我的要求是出示这个无效。ie每当出现字母、数字或特殊字符以外的字符时,字符串的计算结果应为无效。如何使用regex实现这一点?
本文向大家介绍如何限制UITextField在Swift中只接受数字?,包括了如何限制UITextField在Swift中只接受数字?的使用技巧和注意事项,需要的朋友参考一下 在iOS应用中,有时我们需要将文本字段限制为仅将数字作为输入,这可以通过多种方式完成,下面让我们来看一些。 方法1:从情节提要中更改文本字段类型。 选择要限制为数字输入的文本字段。 转到其属性检查器。 选择键盘类型,然后从中