我有一个 UITextField,我只需要在这个字段中输入数字、逗号或点。
如何检查此字符串是否包含任何字符而不是上述字符,以及如何替换/删除它们?
我的字段将存储成本,我只需要数字、逗号或点...
谁能帮我?
谢谢!
我有一个 UITextField,我只需要在这个字段中输入数字、逗号或点。
如何检查此字符串是否包含任何字符而不是上述字符,以及如何替换/删除它们?
我的字段将存储成本,我只需要数字、逗号或点...
谁能帮我?
谢谢!
For the textfield, you could use the UITextFieldDelegate
and implement the textField:shouldChangeCharactersInRange:replacementString:
method. According to the docs, "the text field calls this method whenever the user types a new character in the text field or deletes an existing character." In the method, you should do a check for all non-number characters and remove them.
您可以使用协议中的-textFieldDidEndEditing:
方法UITextFieldDelegate
。每当文本字段退出第一响应者状态(即结束编辑)时,都会调用此方法。这是检查输入字符串的机会。如果您想在输入每个字符后执行检查,请-textField:shouldChangeCharactersInRange:replacementString:
按照 donkim 的建议使用。
您可以通过监视字段中的用户输入并自动删除不匹配的字符来做到这一点。创建一个 IBAction 方法:
- (IBAction)validateEntry:(id)sender;
然后将其附加到文本字段的Editing Changed事件。每当字段中的文本发生变化时,无论是用户键入还是用户粘贴文本,都会调用该方法。
在该方法中,您可以检查文本并删除违规字符,或者更礼貌地更新一个 UILabel,告诉用户他们输入了无效字符并禁用任何提交按钮,直到它被修复。
而是检查字符串为什么不能将文本字段的键盘值分配为 NumberPad。这样用户将无法键入字符串。