无名 发表于 2022-5-8 16:31:23

【梅开三度】PHP正则表达式详解6

强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*)(?=.*).{8,10}$
日期格式:^\d{4}-\d{1,2}-\d{1,2}
一年的12个月(01~09和1~12):^(0?|1)$
一个月的31天(01~09和1~31):^((0?)|((1|2))|30|31)$
钱的输入格式:
有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^*$
这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:^(0|*)$
一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:^(0|-?*)$
这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧。下面我们要加的是说明可能的小数部分:^+(.+)?$
必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^+(.{2})?$
这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:^+(.{1,2})?$

http://cdn.u1.huluxia.com/g4/M01/11/DF/rBAAdmBLtXKAVLKMAAGHcWSt2X4138.jpg
页: [1]
查看完整版本: 【梅开三度】PHP正则表达式详解6