当前位置: 首页 > 知识库问答 >
问题:

不允许用户在UITextField中输入数字1作为第一位数字

姚向晨
2023-03-14

我有一个UITextField,用户可以在其中输入他们的电话号码。我需要电话号码在以下格式:5567289223和不像这样与一个额外的1在开头:15567289223。

我已经有一个if语句设置,所以如果数字大于或小于10位,它将抛出一个错误。

我需要设置一个if语句,以便如果电话号码中的第一个字符是“1”,我们将抛出一个错误,或者更简单的解决方案是使用shouldchangecharactersinrange,以便如果它是他们在UITextField中键入的第一个数字,那么它就不能是1。

之前有人给了我这个解决方案,用于控制允许在UITextField中键入哪些字符:https://stackoverflow.com/a/22265084/3344977

我一直试图修改它,使它不允许数字“1”是输入UITextField的第一个数字,但我无法使它正常工作。

非常感谢任何帮助。

共有1个答案

卢光誉
2023-03-14

我已经根据您的需要修改了您想要使用的示例,您可以查看它

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField==self.testTextField&&range.location==0)
{
    if ([string hasPrefix:@"1"])
    {
        return NO;
    }
}

return YES;
}
 类似资料:
  • 如何验证只有2位数字的输入数字,并允许用户使用JQuery输入点数字? 用户可以输入0到99个数字和点数字 比如( 0.1(3位) 3.14(4位数字) 98.1212178623445243(更多数字) 等......) https://jsfiddle.net/kwcft9bq/ 我试着用 但最后还是不行 有什么想法吗???非常感谢。

  • 问题内容: 如何在Swift中将用户的TextField输入限制为数字? 问题答案: 您可以使用的方法将用户的输入限制为数字: 为Swift 3更新:

  • 问题内容: 我有以下html5输入元素: 为什么此输入允许在输入字段中输入字符“ e”?没有其他字母字符可以输入(按预期方式) 使用chrome v.44.0.2403.107 问题答案: 因为这正是规范所说的应该工作的方式。输入的数字可以接受浮点数,包括负号和或字符(其中指数是或后面的数字): 浮点数按以下顺序由以下部分组成: 可选地,第一个字符可以是“ ”字符。 “ ” 范围内的一个或多个字符

  • 我有一个输入字段,用户只能在其中输入数字。 JSFIDLE演示 问题是:当我输入一个数字(例如,)然后按点()时,或-浏览器会自动删除输入字段的内容(值设置为“”=空字符串)。但是为什么呢?将类型从更改为似乎可以解决问题。但是,我失去了输入字段的向上/向下箭头功能。有什么想法吗?

  • 问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持CopyPaste,Drag+Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE9以后的所有浏览器 : 现在,您可以使用