我有一個文本框,我需要讓用戶只輸入金額,這意味着只有數字和一個逗號文本框只允許數字和逗號
這裏是我
<asp:TextBox ID="txt_tutar" runat="server" onkeypress="this.value=this.value.replace(/\D/g,'')"></asp:TextBox>
驗證碼上面只允許數字,它會刪除逗號。我如何更新讓用戶在文本框中輸入浮點數?
我有一個文本框,我需要讓用戶只輸入金額,這意味着只有數字和一個逗號文本框只允許數字和逗號
這裏是我
<asp:TextBox ID="txt_tutar" runat="server" onkeypress="this.value=this.value.replace(/\D/g,'')"></asp:TextBox>
驗證碼上面只允許數字,它會刪除逗號。我如何更新讓用戶在文本框中輸入浮點數?
使用正則表達式:
/[^\d,]/g
如:
this.value=this.value.replace(/[^\d,]/g,'')
當然,這並不是真正意義的字符串將是一個有效的數值;例如2,,0,1
將被視爲罰款。你真的應該做使用decimal.TryParse
或類似的東西
在這裏,你還可以使用所需的字段校驗做的部份完整的服務器端驗證,使用javascript
更好的辦法去在性能客戶端,使用下面的腳本
function isValidNo(str) {
var inbadChars = "\t\n\r^&*=~`';<>?[]{}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
//debugger;
for (n = 0; n < str.length; n++) //filter for invalid chars
{
if (inbadChars.indexOf(str.charAt(n)) != -1) return false;
}
return true;
}
推薦使用服務器端tryparse,因爲在某些瀏覽器上,有時腳本可能無法工作。
這個工程,但我需要讓只有一個逗號 –
我可以在客戶端? –
您可能可以,但一般來說,您應該對任何用戶輸入使用服務器端驗證。不保證您的客戶將使用JavaScript或尊重客戶端的驗證。當然,惡意用戶總是可以通過原始HTTP請求發佈任何他們想要的東西,從而使客戶端驗證變得毫無意義。 –