日期:2014-05-18  浏览次数:20501 次

Jquery求答
如何判断文本框里输入的是不是手机号 不能为空,不能为字母

新手求代码,

------解决方案--------------------
把手机号的规则说清楚...不然会有很多个版本的
以1开头,长度为11位,纯数字,这样的是不是手机号?186,187,137,135,130...

/1\d{10}/
------解决方案--------------------
JScript code

$("#Txt_phone").change(function(){
        var val=$("#Txt_phone").val();
        var length=val.length;
        var patten;
        
        if((length==11)&(Number(val.substring(0,1))==1))
        {    
            //验证手机号码正则包含中国电信、联通、移动现有号段
            patten=new RegExp(/^1(3[0-9])|(4[57])|(5[012356789])|(8[0236789])\d{8}$/i);    
        }
        else
        {
            //验证电话号码 区号(3-4)-号码(7-8) 或者 区号(3-4)-号码(7-8)-分机号(1-4) 或者  号码(7-8)-分机号(1-4)
            patten=new RegExp(/^(0\d{2,3}?-\d{7,8})$|^(0\d{2,3}?-\d{7,8}?-\d{1,4})$|^(\d{7,8}?-\d{1,4})$|^(\d{7,8})$/i);    
        }        
        if(!patten.exec(val)){
            alert("请输入正确的员工联系电话/手机号码!");
            $("#Txt_phone").val("");        
            return;
        }
    });

------解决方案--------------------
何必那么麻烦...人家都给你提供控件了 我是做系统为主比较喜欢用控件方便快捷



 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Dynamic" ControlToValidate="TextBox1" ErrorMessage="*" ValidationExpression="(/^1(3[0-9])|(4[57])|(5[012356789])|(8[0236789])\d{8}$/i"/> //验证手机号码正则包含中国电信、联通、移动现有号段
借用楼上的代码 正则表达式
 ValidationExpression=""里面写正则即可 如果是纯约束数字 那就更简单了 
ValidationExpression="^[0.0-9.0]*$"

这个里面写入提示信息ErrorMessage="*" 写什么都可以 

控件的功能很强大