Mobilenum验证在aspx中不起作用

时间:2015-12-10 06:42:49

标签: javascript asp.net

我已经在我的aspx页面中添加了手机号码验证

这是我的代码:

<tr>
    <td>
        <asp:Label ID="label7" runat="server" Text="Mobile Number"></asp:Label>
    </td>
    <td>
        &nbsp;
    </td>
    <td>
        <asp:TextBox ID="TextBox1" runat="server" CssClass="form-control" MaxLength="10"
            OnClientClick="return Validatemobilenum();"></asp:TextBox>
    </td>
</tr>

脚本:

function Validatemobilenum() {
        var phone = document.getElementById("<%=Textmobilenum.ClientID%>");
        var RE = /^[\d\.\-]+$/;
        if (phone.value != "") {
            if (!RE.test(phone.value)) {
                alert("You have entered an invalid phone number");
                return false;
            }
        }
        else {

            alert("please Enter mobile number");
            return false;
        }
        return true;
    }

当我运行上面的代码时,

即使我为手机号码插入字符也能正常工作。这就是上面的脚本无效。

我可以知道,我的错误是什么?

任何帮助都将受到高度赞赏。

谢谢,

1 个答案:

答案 0 :(得分:0)

解决方案1 ​​

您需要在Onblur属性上编写代码,如下所示: -

<asp:TextBox ID="Textmobilenum" runat="server" CssClass="form-control" MaxLength="10" onblur="return Validatemobilenum()"></asp:TextBox> 

解决方案2

<强>更新

如果您想在OnClientClick事件中检查该功能,则需要为其添加Button,如下所示

<asp:Button ID="btnTest" runat="server" OnClientClick="return Validatemobilenum()" Width="100" Text="Validate" />

你的js功能

function Validatemobilenum() {
        var phone = document.getElementById("<%=Textmobilenum.ClientID%>");
        var RE = /^[\d\.\-]+$/;
        if (phone.value != "") {
            if (!RE.test(phone.value)) {
                alert("You have entered an invalid phone number");
                return false;
            }
            alert('Correct mobile number entered');
        }
        else {

            alert("please Enter mobile number");
            return false;
        }
        return true;
    }

注意: - 不确定您的正则表达式