考虑使用正则表达式来测试端口号。
(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3})这在Android中是无效的。
你知道端口号正则表达式在Android中应该是什么样子吗?
发布于 2010-10-09 06:45:18
一般来说,正则表达式对于数值验证来说并不是很好。我建议在匹配的组上使用Integer.parseInt,然后检查它是否小于65536。
发布于 2010-10-09 06:43:20
假设您正在编写"(6553[0-5]|655[0-2]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[1-5]\\d{4}|[1-9]\\d{0,3})"代码,那么它可以在a Java Regex test page上工作。您可能必须转义反斜杠才能使Java字符串文字生效。但是,此表达式并不认为零是有效端口号。
发布于 2016-06-03 07:37:40
它是旧的,但如果有人想知道如何使用tryparse,其中一位开发人员提到:
int portNumber;
if (int.TryParse(inputPortValue, out portNumber)
&& portNumber >= 256
&& portNumber <= 0){
error = "Invalid Port: " + inputPortValue
". Please verify.";
return false;
}https://stackoverflow.com/questions/3894771
复制相似问题