iT邦幫忙

1

[JavasSript] textbox只能輸入數字(可打負數)

開發環境
VS2013

<asp:TextBox ID="TextBox1" runat="server"
    onkeyup="return ValidateNumber(this,value)" ToolTip="請輸入數字"></asp:TextBox>
  
<%--只要是數字,都可以打--%>

 
<script>

    function ValidateNumber(e, pnumber) {
        if (pnumber == "-")//第一個可以打負號
            e.value = pnumber;
        else {
            if (isNaN(pnumber) == true) {
                e.value = "";
            }
            else {
                e.value = pnumber;
            }
        }

        return false;

    }
</script>

2 則留言

1
tacodrem
iT邦新手 5 級 ‧ 2018-07-20 10:45:45

照這邏輯, 應該會變成可以隨意打數字跟"-"
Ex.
-----
-456-456
之類的?

沒有這個問題哦~
只有第一個字,可以是-號
你可以用用看哦~

喔喔~!!
後面的那個參數是直接接value@@"
沒看清楚, 哈哈~抱歉>"<

0
Nomi Su
iT邦新手 5 級 ‧ 2018-07-23 16:07:20

認真看了一下,發現有許多錯誤,例如

  1. 當 user 輸入 "-" 時會怎麽辦?
  2. 你這樣不管是正確還是錯誤都會 retrun false,這樣如何判定 pnumber 是不是合法?

建議用 onblur ,然後直接檢查是否為 isNaN 就好。

我要留言

立即登入留言