Soh*_*pta 7 regex vb.net .net-2.0
我正在使用此正则表达式(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}
来验证端口号.不知怎的,这不起作用.这有什么问题?任何人都可以指出我.
npi*_*nti 38
不工作到底是什么意思?
你可以尝试这样的事情:( ^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
从这里获得).
这将确保任何给定的字符串是数字和范围之间0
和65535
.
假设你的正则表达式匹配相同的范围,它缺少开始和结束锚点(^
和$
分别),所以它将允许除实际端口之外的其他字符串.
cht*_*i59 11
当我们在 Google 上搜索“如何验证端口号”时,我们不幸登陆这里
但是(除非你真的别无选择……),
正则表达式显然不是验证端口号的方法!
“一个”(稍微好一点)的方式可能是:
step 1: Convert your string into number, and return FALSE if it fails
step 2: return TRUE if your number is in [1-65535] range, and FALSE otherwise
Run Code Online (Sandbox Code Playgroud)
各种原因,为什么 Regex 不是正确的方法?