寻找有关如何在PHP中验证字符串的一些帮助。
要验证的格式是
X.XXam[d[i]-d[i] Only]
示例条目可以是:
8:55pm[Tues-Thurs Only]
d[i]
表示一个关联数组值,具体取决于星期几。
例如,上面包含星期六和星期日。
我需要在插入数据库之前确保/验证这一点。
我可以帮忙解决这个问题吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
查看正则表达式101.这是一个创建正则表达式并理解它们的精彩工具。从那里我得到this solution给你:
%^\d{1,2}:\d{1,2}([ap])m\[(Mon|Tue|Wed|Thu|Fri|-){1,} Only\]$%mg
第一位(\d{1,2}
)接受0到99之间的数字,然后是:
和0到99之间的另一个数字。
然后是a
或p
,后跟m
。
然后,您可以Mon
或Tue
或....或-
获得1次结束时间。
最后,您拥有修饰符g
和m
。
m
是使用代表行的开头和结尾的^
和$
修饰符。
g
只是查找所有结果而不是第一个结果。你可以把它留下来。
要使用名为$array
的数组中的工作日,只需将其内嵌到字符串中并将其填充到表达式中,如下所示:
$weekdaysString = implode('|',$array);
$regex = '%^\d{1,2}:\d{1,2}([ap])m\[('.$weekdaysString.'|-){1,} Only\]$%mg';
阅读implode。