我为端口号做了一个正则表达式(在你说这是一个坏主意之前,它进入了一个更大的URL的URL,这比听起来要困难得多).
我的同事说这真的很糟糕,并不会抓住一切.我不同意.
我相信这个东西可以捕获从0到65535的所有内容,而不是别的,我正在寻找对此的确认.
单行版(适用于计算机):
/(^[0-9]$)|(^[0-9][0-9]$)|(^[0-9][0-9][0-9]$)|(^[0-9][0-9][0-9][0-9]$)|((^[0-5][0-9][0-9][0-9][0-9]$)|(^6[0-4][0-9][0-9][0-9]$)|(^65[0-4][0-9][0-9]$)|(^655[0-2][0-9]$)|(^6553[0-5]$))/
Run Code Online (Sandbox Code Playgroud)
人类可读版本:
/(^[0-9]$)| # single digit
(^[0-9][0-9]$)| # two digit
(^[0-9][0-9][0-9]$)| # three digit
(^[0-9][0-9][0-9][0-9]$)| # four digit
((^[0-5][0-9][0-9][0-9][0-9]$)| # five digit (up to 59999)
(^6[0-4][0-9][0-9][0-9]$)| # (up to 64999)
(^65[0-4][0-9][0-9]$)| # (up to 65499)
(^655[0-2][0-9]$)| # (up to 65529)
(^6553[0-5]$))/ # (up to 65535)
Run Code Online (Sandbox Code Playgroud)
有人可以证实我的理解是正确的(或其他)吗?
regex ×1