【问题标题】:objective c - help creating regular expression for format (#,#)Objective c - 帮助创建格式的正则表达式 (#,#)
【发布时间】:2013-06-05 01:09:04
【问题描述】:

用户以这种格式在我的 UITextField 中输入他/她每门课程的学时数....

4,3,4,3,3

(第一门课程 4 学分,第二门课程 3 学分,以此类推)

条件: 用户只能输入 1 门课程的 MIN 和 MAX 5 门课程,学分必须用逗号分隔,最后一个除外,字符串只能包含数字和逗号(无字母等)。

如果违反条件,我会尝试显示错误消息。我想我需要创建一个正则表达式。我不确定如何创建一个,因为用户可以输入 2 门课程,所以......(3,4)并且仍然可以。 (就像它不能遵循像电话号码这样的严格格式)。

【问题讨论】:

  • 因为每个值都可能在 1-4 或 1-5 范围内,所以 [1-4](,[1-4]){0,4}。将 1-4 更改为 1-5 或任何适合每个数字的值。
  • 不要为此使用正则表达式,使用 NSScanner。一旦你走上正则表达式的道路,你就会遇到两个问题。
  • 为什么它被投票了????

标签: ios regex nsregularexpression


【解决方案1】:

与其让用户输入他们认为正确的内容,然后在最后告诉他们他们错了,不如考虑实现文本字段委托方法textField:shouldChangeCharactersInRange:replacementString:。这并不妨碍您使用正则表达式,但您还可以过滤用户输入的字符以防止出现任何字母并在用户出错时立即通知用户。

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    相关资源
    最近更新 更多