0
下午好,我正在创建一个带有号码保留字段的表单,供用户选择。我的系统只允许按号码预订号码,例如:1,2,3
,它会预订号码1,2和3.正则表达式号码保留
现在我想添加一次预订多个号码的选项,例如:1-5,9,10
在这种情况下,将预定数字1到5,9和10
我使用正则表达式如下代码,但它不工作,因为我想
^\d{1,5}(?:-\d{1,5})*(?:,\d{1,5})*(?:,\d{1,5}-\d{1,5})*(?:-\d{1,5},\d{1,5})*$
这段代码的问题是每当用户插入两个1-3,4-6
它只允许多一个号码。例如1-3,4-6,2,3
在插入,3
时显示错误。
还有一个问题,即允许写一些短线没有逗号 例如1-3-6-8-9
这正是我忘记的事情,在另一个里面插入一个小组!是的,我明白这只是字符串格式,我现在正在研究一个函数来检查任何类型的错误与字符串与PHP。感谢您的快速响应 – SandroG
只有一件事我不uderstan,为什么你在代码中插入'\ A'和'\ z'? – SandroG
@SandroG'\ A'和'\ z'是字符串开始和结束的锚点。与'^'和'$'几乎没有什么区别:'\ A'和'\ z'在多行模式下不会改变(所以使用它们更加明确)。 '$'是字符串的结尾,但在字符串末尾跟着一个换行符时,它也可以匹配行的末尾(此行为可以用'D'修饰符禁用。) –