Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于字母数字字符和数字范围组合的正则表达式_Javascript_Regex_String - Fatal编程技术网

Javascript 用于字母数字字符和数字范围组合的正则表达式

Javascript 用于字母数字字符和数字范围组合的正则表达式,javascript,regex,string,Javascript,Regex,String,我需要一个用于端口输入的正则表达式,它必须只允许这样的输入: gei_1/8 or xgei-0/7/0/5 -它只能在开头使用下划线和连字符:gei_1或xgei-0 -然后它必须允许两个数字在0-48范围内,用正斜杠分隔,中间没有空格。不超过三个数字:/7/0/48 -它不能允许正斜杠或任何结尾 现在,我有以下用于字母数字部分的正则表达式:/^[A-Za-z][A-Za-z0-9]*(?:[A-Za-z0-9]+)*$/ 对于数字部分,我有:^(\d | 1\d | 2\d | 3\d

我需要一个用于端口输入的正则表达式,它必须只允许这样的输入:

gei_1/8 or xgei-0/7/0/5

-它只能在开头使用下划线和连字符:
gei_1
xgei-0

-然后它必须允许两个数字在0-48范围内,用正斜杠分隔,中间没有空格。不超过三个数字:
/7/0/48

-它不能允许正斜杠或任何结尾

现在,我有以下用于字母数字部分的正则表达式:
/^[A-Za-z][A-Za-z0-9]*(?:[A-Za-z0-9]+)*$/

对于数字部分,我有:
^(\d | 1\d | 2\d | 3\d | 4[0-8])\/(\d | 1\d | 2\d | 3\d | 4[0-8])\/(\d | 1\d | 2\d | 3\d | 4[0-8])


感谢您的帮助

要将正斜杠重复1-3次,您可以使用一个范围来匹配0-48,并使用一个量词{1,3}

(?:\/(?:[0-9]|[1-3][0-9]|4[0-8])){1,3}
整个图案可能看起来像

^[A-Za-z][A-Za-z0-9]*[_-][A-Za-z0-9]+(?:\/(?:[0-9]|[1-3][0-9]|4[0-8])){1,3}$

非常感谢您@第四只鸟