固定电话与手机号码正则表达式

来源:互联网 发布:centos minimal 编辑:程序博客网 时间:2024/04/27 21:38
//电话号码正则表达式
    function telephone(obj)
    {
        var a=/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$|(^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$)/;
        var t1=document.getElementByIdx(obj.id).value;
        if(!a.test(t1))
        {
            alert("请输入正确的电话号码,\n\n如:0591-6487256,15005059587");
            document.getElementByIdx(obj.id).focus();
            return false;
        }
       
    }

其中,aspx代码为:
<th>
     联系电话
</th>
<td>
     <input id="txtLXDH" name="txtLXDH" type="text" onfocusout="telephone(this)" onkeydown="KeyDown()"  /><span class="spanNotNull">*</span></td>

顺便也粘贴一些其他常用的正则表达式(以下没有验证过,网上拷贝的):

"^\d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"  //负整数

"^-?\d+$"    //整数

"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)

"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数

"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数

"^(-?\d+)(\.\d+)?$"  //浮点数

"^[A-Za-z]+$"  //由26个英文字母组成的字符串

"^[A-Z]+$"  //由26个英文字母的大写组成的字符串

"^[a-z]+$"  //由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串

"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串

"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

一、验证类

1、数字验证内

  1.1 整数

      /^(-|\+)?\d+$/.test(str)

  1.2 大于0的整数 (用于传来的ID的验证)

      /^\d+$/.test(str)

  1.3 负整数的验证

      /^-\d+$/.test(str)

2、时间类

  2.1 短时间,形如 (13:04:06)

      function isTime(str)

      {

        var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);

        if (a == null) {alert('输入的参数不是时间格式'); return false;}

        if (a[1]>24 || a[3]>60 || a[4]>60)

        {

          alert("时间格式不对");

          return false

        }

        return true;

      }

  2.2 短日期,形如 (2003-12-05)

      function strDateTime(str)

      {

         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);

         if(r==null)return false;

         var d= new Date(r[1], r[3]-1, r[4]);

         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);

      }

  2.3 长时间,形如 (2003-12-05 13:04:06)

      function strDateTime(str)

      {

        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;

        var r = str.match(reg);

        if(r==null)return false;

        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);

        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

      }

  2.4 只有年和月。形如(2003-05,或者2003-5)

  2.5 只有小时和分钟,形如(12:03)

3、表单类

  3.1 所有的表单的值都不能为空

      <input ')=='')alert('不能为空!')">

  3.2 多行文本框的值不能为空。

  3.3 多行文本框的值不能超过sMaxStrleng

  3.4 多行文本框的值不能少于sMixStrleng

  3.5 判断单选框是否选择。

  3.6 判断复选框是否选择.

  3.7 复选框的全选,多选,全不选,反选

  3.8 文件上传过程中判断文件类型

4、字符类

  4.1 判断字符全部由a-Z或者是A-Z的字字母组成

      <input 有错')">

  4.2 判断字符由字母和数字组成。

      <input 有错')">

  4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母

      /^([a-zA-z_]{1})([\w]*)$/g.test(str)

  4.4 字符串替换函数.Replace();

5、浏览器类

  5.1 判断浏览器的类型

      window.navigator.appName

  5.2 判断ie的版本

      window.navigator.appVersion

  5.3 判断客户端的分辨率

      window.screen.height;  window.screen.width;

 

6、结合类

  6.1 email的判断。

      function ismail(mail)

      {

        return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));

      }

  6.2 手机号码的验证

  6.3 身份证的验证

      function isIdCardNo(num)

      {

        if (isNaN(num)) {alert("输入的不是数字!"); return false;}

        var len = num.length, re;

        if (len == 15)

          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);

        else if (len == 18)

          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);

        else {alert("输入的数字位数不对!"); return false;}

        var a = num.match(re);

        if (a != null)

        {

          if (len==15)

          {

            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);

            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];

          }

          else

          {

            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);

            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];

          }

          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}

        }

        return true;

      }

//校验是否全由数字组成

function isDigit(s)

{

var patrn=/^[0-9]{1,20}$/;

if (!patrn.exec(s)) return false

return true

}

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

function isRegisterUserName(s)

{

var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;

if (!patrn.exec(s)) return false

return true

}

//校验用户姓名:只能输入1-30个以字母开头的字串

function isTrueName(s)

{

var patrn=/^[a-zA-Z]{1,30}$/;

if (!patrn.exec(s)) return false

return true

}

//校验密码:只能输入6-20个字母、数字、下划线

function isPasswd(s)

{

var patrn=/^(\w){6,20}$/;

if (!patrn.exec(s)) return false

return true

}

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”

function isTel(s)

{

//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

if (!patrn.exec(s)) return false

return true

}

//校验手机号码:必须以数字开头,除数字外,可含有“-”

function isMobil(s)

{

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

if (!patrn.exec(s)) return false

return true

}

//校验邮政编码

function isPostalCode(s)

{

//var patrn=/^[a-zA-Z0-9]{3,12}$/;

var patrn=/^[a-zA-Z0-9 ]{3,12}$/;

if (!patrn.exec(s)) return false

return true

}

//校验搜索关键字

function isSearch(s)

{

var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;

if (!patrn.exec(s)) return false

return true

}

function isIP(s) //by zergling

{

var patrn=/^[0-9.]{1,20}$/;

if (!patrn.exec(s)) return false

return true

}

//取出字符串前后的空格

var strString = " aaaaa   ";

strString = strString.replace(/(^[\s]*)|([\s]*$)/g, "");

在使用 Regularexpression_r_r_rValidator 验证控件时常用的验证功能及其验证表达式介绍如下:

只能输入数字:"^[0-9]*$"

只能输入 n 位的数字:"^\d{n}$"

只能输入至少 n 位的数字:"^\d{n,}$"

只能输入 m ~ n 位的数字:"^\d{m,n}$"

只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"

只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"

只能输入有 1~3 位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"

只能输入非零的正整数:"^\+?[1-9][0-9]*$"

只能输入非零的负整数:"^\-[1-9][0-9]*$"

只能输入长度位 3 的字符:"^.{3}$"

只能输入由 26 个英文字母组成的字符串:"^[A-Za-z]+$"

只能输入由 26 个大写英文字母组成的字符串:"^[A-Z]+$"

只能输入由 26 个小写英文字母组成的字符串:"^[a-z]+$"

只能输入由数字和 26 个英文字母组成的字符串:"^[A-Za-z0-9]+$"

只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"

验证用户密码: "^[a-zA-Z]\w{5,17}$" 正确格式位:以字母开头,长度在6~18之间,只能包含字符、数字和下划线

验证是否含有 ^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"

只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"

验证 Email 地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"

验证 InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$"

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 部长的妻子味道中文字幕 中文字幕被水电工掠夺的妻子 妻子在厨房跟水电工 互动 妻子与水电工在线 丈夫出差妻子与水电工 樱萌子被水电工侵犯中文字幕 在丈夫的面前侵犯入侵中文字幕 好妻子在线中文字幕 前田香织侵犯中文字幕 佐佐木明希上司中文字幕迅雷 医生d淫孕妇 公公一晚上要8次 公公现在就想要白关婷中文字幕 丈夫上司侵犯系列在线 义父犯美媳嫁樱花叶菜在线播放 儿子的妻子在线中文字幕云播 老公去世公公每天晚上抱着我睡 被水电工掠夺的妻子在线播放b 佐佐木明希大嫂中文字幕全集 善良的小妻子字幕 公公在我洗碗时在厨房要了我 大嫂被肉翻了天佐佐木明希1 教师蕾丝短裙中文字幕 瓜棚里和大嫂乱禽 强睡大嫂中文字 免费 佐佐木明希 房东中文字幕 与父亲干柴烈火 中文字幕丈夫不在 9大嫂被禽翻中文字幕 侵犯你的贞洁 中文字幕 年轻的妻子在线观中文字幕 大嫂被翻天了佐佐木b希中文7 美丽的大嫂中文字幕影迅雷下载 邻居的妻子中文字幕下载 神马电影院电影中文 神马电影院理论中文 女儿的朋友5中文神马电影院 97手机2019电影院专用版中文 厨房里进入朋友的老婆 中文版电影院 神马电影院 中文