读书人

求电话号码的正则表达式,该如何解决

发布时间: 2012-03-16 16:34:56 作者: rapoo

求电话号码的正则表达式
本来设置了只能为数字类型,结果加区号的 "- "就出错了,
如0731-3284633
哪们高手能给个最简单实用的表达式咯

[解决办法]
有个叫 “我佛,山人”的网友在“蓝色理想”写过一个很强的注册表单验证系统,建议楼主去看看。
把下列代码另存为.htm打开可预览效果。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ">
<HTML> <HEAD> <TITLE> 表单验证类 Validator v1.05 </TITLE>
<META http-equiv=Content-Type content= "text/html; charset=gb2312 ">
<STYLE> BODY {
FONT: 12px Verdana; COLOR: #333333
}
TD {
FONT: 12px Verdana; COLOR: #333333
}
INPUT {
BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; BACKGROUND: #ffffff; FONT: 12px Verdana; BORDER-LEFT: #999999 1px solid; COLOR: #333333; BORDER-BOTTOM: #999999 1px solid
}
TEXTAREA {
BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; BACKGROUND: #ffffff; FONT: 12px Verdana; BORDER-LEFT: #999999 1px solid; COLOR: #333333; BORDER-BOTTOM: #999999 1px solid
}
SELECT {
BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; BACKGROUND: #ffffff; FONT: 12px Verdana; BORDER-LEFT: #999999 1px solid; COLOR: #333333; BORDER-BOTTOM: #999999 1px solid
}
TD {
BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; BACKGROUND: #ffffff; FONT: 12px Verdana; BORDER-LEFT: #999999 1px solid; COLOR: #333333; BORDER-BOTTOM: #999999 1px solid
}
TABLE {
BORDER-COLLAPSE: collapse
}
TD {
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}
INPUT {
HEIGHT: 20px
}
TEXTAREA {
OVERFLOW: auto; WIDTH: 80%; HEIGHT: 50px
}
FORM {
DISPLAY: inline
}
</STYLE>

<META content= "MSHTML 6.00.2900.3132 " name=GENERATOR> </HEAD>
<BODY>
<TABLE align=center>
<FORM id=demo name=theForm onsubmit= "return Validator.Validate(this,2) "
method=get>
<TBODY>
<TR>
<TD> 身份证号: </TD>
<TD> <INPUT name=Card msg= "身份证号错误 " dataType= "IdCard "> </TD> </TR>
<TR>
<TD> 真实姓名: </TD>
<TD> <INPUT name=Name msg= "真实姓名只允许中文 " dataType= "Chinese "> </TD> </TR>
<TR>
<TD> ID: </TD>
<TD> <INPUT name=username msg= "ID名不符合规定 " dataType= "Username "> </TD> </TR>
<TR>
<TD> 英文名: </TD>
<TD> <INPUT name=Nick msg= "英文名只允许英文字母 " dataType= "English "
require= "false "> </TD> </TR>
<TR>
<TD> 主页: </TD>
<TD> <INPUT name=Homepage msg= "非法的Url " dataType= "Url "
require= "false "> </TD> </TR>
<TR>
<TD> 密码: </TD>
<TD> <INPUT type=password name=Password msg= "密码不符合安全规则 "
dataType= "SafeString "> </TD> </TR>
<TR>
<TD> 重复: </TD>
<TD> <INPUT type=password name=Repeat msg= "两次输入的密码不一致 " dataType= "Repeat "
to= "Password "> </TD> </TR>
<TR>
<TD> 信箱: </TD>
<TD> <INPUT name=Email msg= "信箱格式不正确 " dataType= "Email "> </TD> </TR>
<TR>
<TD> 信箱: </TD>
<TD> <INPUT name=Email msg= "两次输入的信箱不一致 " dataType= "Repeat " to= "Email "> </TD> </TR>


<TR>
<TD> QQ: </TD>
<TD> <INPUT name=QQ msg= "QQ号码不存在 " dataType= "QQ " require= "false "> </TD> </TR>
<TR>
<TD> 身份证: </TD>
<TD> <INPUT name=Card msg= "身份证号码不正确 " dataType= "IdCard "> </TD> </TR>
<TR>
<TD> 年龄: </TD>
<TD> <INPUT name=Year msg= "年龄必须在18~28之间 " dataType= "Range " max= "28 "
min= "18 "> </TD> </TR>
<TR>
<TD> 年龄1: </TD>
<TD> <INPUT name=Year1 msg= "年龄必须在18以上 " dataType= "Compare " require= "false "
to= "18 " operator= "GreaterThanEqual "> </TD> </TR>
<TR>
<TD> 电话: </TD>
<TD> <INPUT name=Phone msg= "电话号码不正确 " dataType= "Phone "
require= "false "> </TD> </TR>
<TR>
<TD> 手机: </TD>
<TD> <INPUT name=Mobile msg= "手机号码不正确 " dataType= "Mobile "
require= "false "> </TD> </TR>
<TR>
<TD> 生日: </TD>
<TD> <INPUT name=Birthday msg= "生日日期不存在 " dataType= "Date " format= "ymd "> </TD> </TR>
<TR>
<TD> 邮政编码: </TD>
<TD> <INPUT name=Zip msg= "邮政编码不存在 " dataType= "Custom "
regexp= "^[1-9]\d{5}$ "> </TD> </TR>
<TR>
<TD> 邮政编码: </TD>
<TD> <INPUT name=Zip1 msg= "邮政编码不存在 " dataType= "Zip "> </TD> </TR>
<TR>
<TD> 操作系统: </TD>
<TD> <SELECT name=Operation msg= "未选择所用操作系统 " dataType= "Require "> <OPTION
value= " " selected> 选择您所用的操作系统 </OPTION> <OPTION
value=Win98> Win98 </OPTION> <OPTION value=Win2k> Win2k </OPTION> <OPTION
value=WinXP> WinXP </OPTION> </SELECT> </TD> </TR>
<TR>
<TD> 所在省份: </TD>
<TD> 广东 <INPUT type=radio value=1 name=Province> 陕西 <INPUT type=radio value=2
name=Province> 浙江 <INPUT type=radio value=3 name=Province> 江西 <INPUT
type=radio value=4 name=Province msg= "必须选定一个省份 " dataType= "Group "> </TD> </TR>
<TR>
<TD> 爱好: </TD>
<TD> 运动 <INPUT type=checkbox value=1 name=Favorite> 上网 <INPUT type=checkbox
value=2 name=Favorite> 听音乐 <INPUT type=checkbox value=3
name=Favorite> 看书 <INPUT type=checkbox value=4 name=Favorite
msg= "必须选择2~3种爱好 " dataType= "Group " max= "3 " min= "2 " ?> </TD> </TR>
<TR>
<TD> 自我介绍: </TD>
<TD> <TEXTAREA name=Description msg= "自我介绍内容必须在10个字之内 " dataType= "Limit " max= "10 "> 中文是一个字 </TEXTAREA> </TD> </TR>
<TR>
<TD> 自传: </TD>
<TD> <TEXTAREA name=History msg= "自传内容必须在[3,10]个字节之内 " dataType= "LimitB " max= "10 " min= "3 "> 中文是两个字节t </TEXTAREA> </TD> </TR>
<TR>
<TD> 相片上传: </TD>
<TD> <INPUT type=file accept= "jpg, gif, png " name=up msg= "非法的文件格式 "


dataType= "Filter "> </TD> </TR>
<TR>
<TD colSpan=2> <INPUT type=submit value=确定提交 name=Submit> <INPUT onclick= "Validator.Validate(document.getElementById( 'demo ')) " type=button value=检验模式1> <INPUT onclick= "Validator.Validate(document.getElementById( 'demo '),2) " type=button value=检验模式2> <INPUT onclick= "Validator.Validate(document.getElementById( 'demo '),3) " type=button value=检验模式3> </TD> </TR> </FORM> </TBODY> </TABLE>


代码下接

读书人网 >ASP

热点推荐