移动电话、固定电话和时间的正则表达式如何写?
打算使用验证控件来验证用户输入的移动电话、固定电话和时间进行验证,但是我对正则表达式不熟悉,写了一个多小时,都没有完全搞定,请大家帮帮忙。或是大家给点建议你们是如何来验证这些数据的。
1。移动电话包括移动和联通;
2。固定电话格式:****-******* 或者***-********,比如0788-8888888,020-88888888
3.时间 ****-**-**
问题点数:40、回复次数:4Top
1 楼shadowclaw(junk)回复于 2004-05-03 14:36:23 得分 10
这个是电话,但是没具体限制,只是限制了位数,因为不知道号码有那些。
\d{3,4}-\d{7,8}|(\d{11})
下面的是日期:从1900-1-1到2050-12-31(具体的上限是多少记不太清了,不过和这个差不太远)的范围。
(((19[0-9][0-9]|20[0-5]0)-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|((19[0-9][0-9]|20[0-5]0)-(0[469]|11)-([0][1-9]|[12][0-9]|30))|((19[0-9][0-9]|20[0-5]0)-(02)-(0[1-9]|1[0-9]|2[0-8]))|((190[48]|200[048])-(02)-(29))|((19[2468][048]|20[24][0248])-(02)-(29))|((19[13579][26]|20[13][26])-(02)-(29)))Top
2 楼shadowclaw(junk)回复于 2004-05-03 14:44:02 得分 15
突然想起来了,不知道现在的电话号码是不是都是8位的座机号,如果是的话,把上面的\d{7,8}改成\d{8}。另外,区号的第一位是不是都是0啊?有限制的话,我再重新写个。下面的日期有必要重新限制范围的话,也可以重新写。Top
3 楼Gorgee(凭阑悄悄)回复于 2004-05-03 15:13:54 得分 15
^13[0-4]{1}[0-9]{8} 联通
^13[5-9]{1}[0-9]{8} 移动
^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$ 混合
日期用楼上的Top
4 楼zh_zh_y(决不放弃)回复于 2004-05-03 16:27:08 得分 0
我试试看看,如果有效,明天结贴,谢谢两位了。Top




