0

这是我的问题,我创建了一个文本框来检查美国手机号码,并在 JS 中创建了一个仅检查数字的函数。问题是在我输入错误的数字并且我想清除文本框之后,JS 中的函数不会让我只删除使用退格键和每次删除一个字符的所有内容。它在 firefox 上不起作用,为什么???当我点击键盘上的星号时,它会删除所有内容,这是为什么????

这是我的代码:

function NumbersOnly(sender, args) {
    var text = sender.get_value() + args.get_keyCharacter();
    if (!text.match('^[0-9]+$') && text != '\b' && text != '(' && text != ')' && text != '-') {
        args.set_cancel(true);
    }
}

细胞:

            </td>
            <td style="text-align: left">
            <telerik:RadTextBox ID="txtPhone" runat="server" MaxLength="25" Width="200px"><ClientEvents OnKeyPress="NumbersOnly"></ClientEvents></telerik:RadTextBox>                
            <asp:RegularExpressionValidator runat="server" ID="revPhone"
                            ControlToValidate="txtPhone"
                            Display="None"
                            ValidationExpression="^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$"
                            ValidationGroup="validateEditUser"
                            EnableClientScript="false"
                            ErrorMessage="- Please enter a valid phone number:(ex.) <b>(xxx-xxx-xxxx)</b></br>" />
        </tr>

谢谢

4

0 回答 0