我有一個文本輸入字段,用戶只能輸入一個double。 我已經成功地使用jQuery來實現這一點,但沒有太多的正則表達式的經驗我不知道如果正在使用的正則表達式(它使用多個OR)是一個很好的方法來做到這一點。我花了很多時間試圖獲得一個簡單的正則表達式,但我沒有成功。這是我最終使用的。動態雙驗證Javascript正則表達式
這裏是我使用的功能:
$('#foo').keyup(function(){
var str = $(this).val();
if(/(^\.+$)|(^\d+$)|(^\d+\.$)|(^\.\d+$)|(^\d+\.\d+$)/.test(str)){
$('#foosays').text(str);
}else{
$("#foo")[0].value="";
}
});
這裏是我的功能演示:http://jsfiddle.net/Esfsy/
任何建議,以改善正則表達式或其他任何東西都歡迎。
在JavaScript所有的數字都是雙打......您可能希望將字符串轉換爲數字,並使用'isNaN'用'toFixed'而不是正則表達式。 – elclanrs 2013-05-07 22:07:31
只是好奇爲什麼這個問題被標記爲'關閉'? – rgamber 2013-05-07 22:15:36
看看這個頁面的相關正則表達式:http://www.regular-expressions.info/floatingpoint.html – Xotic750 2013-05-07 22:21:49