【发布时间】:2014-10-19 07:38:40
【问题描述】:
我有一个用户输入的字符串,它应该代表一个 IP 地址,例如:123.234.12.8 但作为一个愚蠢的人,如果他们有时会进入:12#.234.1@.8
我已经弄清楚如何通过遍历字符串并使用以下方法制作临时字符/整数来检查字符和符号:
tempChar = ipString.charAt(i);
tempInt = Character.getNumericValue(tempChar);
我可以标记“a”或“q”,但无法区分“.”符号和其他符号,例如 '#' 或 '&',因为它们都被赋予了 int 值 -1。
是否存在防止用户输入除“.”以外的任何符号的现有方法或者如果我做错了,有人可以指出我正确的方向吗?
编辑:这是在 Java 中。
【问题讨论】:
-
你能用正则表达式吗?
-
您只是想验证这些数据,还是也删除坏字符?无论哪种方式,正如@MadProgrammer 所说,正则表达式在这里都是不错的选择。请澄清您的问题以获得更好的答案。
-
我正在尝试验证它,如果 IP 中包含无效字符,我想要求用户输入一个新字符。我对正则表达式不熟悉,目前正在阅读oracle教程。
标签: java error-handling character