请问如果使用正则表达式控制电话号码格式

来源:百度知道 编辑:UC知道 时间:2024/06/11 08:25:45
控制要求如下:
必须填写电话号码;(可不填写区号)
只能是数字和“-”符号;
如果填区号,那么区号首位必须是0开头,并且区号不能以013开头,区号最少3位,最多4位;
电话号码长度必须为8位;(除开区号);
电话号码开头不能是0和1;(不是指区号)

我现在写的是:
<input name="Phone" require="false" dataType="Phone" msg="电话号码不正确">

……

<script>
Validator = {
Phone : /^(\d{3}\-)?(0\d{2,3}-)?[1-9]\d{6,7}$/,

很多地方都不对,请问如何写,如何修改,谢谢了!
再咨询--“海洋X”

我已经写成了这样:
<input name="Phone" maxlength="13" require="false" dataType="Phone" msg="电话号码不正确">

<script>
Validator = {
Phone : /^(0[0-9]{2,3}\-)?[2-9][0-9]{7}$/,
……
</script>
但是如何在这个里面再控制该Phone必填呢?我现在控制不了该项目必填,谢谢!

1、/^(0[0-9]{1,2}\-)?[2-9][0-9]{7}$/

2、<script language=javascript>
var re=/^((0(?!(13)))[0-9]{2,3}\-)?[2-9][0-9]{7}$/
var str="0139-23145678"
alert(re.test(str))
</script>

不知道您是否满意?

0\d{2}-[2-9]\d{7}|0\d{3}-[2-9]\d{7}

不知道你是否满意?