文章目录
背景
一天qa提了端口号的bug,公司项目中用了两年多的端口号校验正则竟然出了问题,网上搜了试了不少也多多少少有问题,由于ip校验网上一大堆,特地对port端口号校验整理一波。
利用parseInt校验
两层判断,1. 判断1开头的数字 2. 判断值小于65535
function checkPort(value) {
return /^[1-9][0-9]*$/.test(value) && parseInt(value, 10) <= 65535;
}
正则校验
正则可单独拿出
function checkPort(value) {
const reg = /^([1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
return reg.test(value);
}