-5

在客户端按钮单击事件中,我需要一个 javascript 函数来检查输入值是否全部为数字(0 到 9)。此外,还有一个标准是单选按钮选项。如果用户选择是,则只允许数字输入。如果否,则输入任何字符。

我发现一些帖子正在检查数字并允许小数点,但对我来说,我不允许他们输入小数或破折号或其他任何内容。

有效字符必须是 0 到 9 的数字,并且计数必须是 10(我可以检查长度)。


Example of txtInput.Text
1234567890 -- return true
9781234567 -- return true
12.4567890 -- return false
123-567890 -- return false
123456789X -- return false

Code:
        function CheckFormInput() {
            var x = document.getElementById("<%#txtInput.ClientID%>").value;
            if (x != "") {
                if (document.getElementById("<%#rbtnYes.ClientID%>").checked) {
                    if (CheckInput(x)) return true;
                    else {
                        alert("Invalid Input!");
                        return false;
                    }
                }
                else {
                    return true;
                }
            }
            else {
                alert("Blank not allowed!");
                return false;
            }
        }

        function CheckInput(input) {
            //function to check length 10 & all chars in digit (0 to 9, no space, no dash, no decimal)
            if (document.getElementById("<%#rbtnYes.ClientID%>").checked) {
                if (input.length == 10) {
                // *** continue to check all in digit ***
                    return true;
                }
                else {
                    return false;
                }
            }
        }

html:-
<asp:Button ID="btnAddFile" runat="server" Text="Add Files" OnClientClick="return CheckFormInput()"  OnClick="btnAddFile_Click" />

感谢任何建议。提前致谢!

4

2 回答 2

1

用这个

  <input type="text" pattern="[0-9]{10}">  
于 2013-11-01T08:15:12.923 回答
1
if( /^\d+$/.test(val) && val.length == 10){

alert("digits only, 10 chars long");

}

或者

 if(!isNaN(parseInt(val)) && val.length == 10){
alert("digits only, 10 chars long");
}

html:

<input type="text" maxlength="10">  
于 2013-11-01T08:17:25.923 回答