input表單屬性的小bug
阿新 • • 發佈:2019-01-22
第一個:type="tel"輸入電話號碼的時候在iOS手機上可以輸入漢字,正則無效,
解決方案是將tel改成text用正則控制,只是又出現了新的小bug,鍵盤可以切換至文字輸入框
第二個:type="number"在手機端和pc端輸入金額的時候可以輸入多個小數點,10.000.00.00,正則無效
解決方案是將number換成text然後用正則來控制,
<div class="billing_list "> <span class="detail_number">其他費用金額:¥ </span> <input type="text" name="" value="" placeholder="0" onkeyup="checkDoubleP(this)"/> </div>
function checkDoubleP(obj) { var current = $(obj).val(); if(current.length==1){ current=current.replace(/[^0-9]/g,""); } else { current = current.replace(/[^\d.]/g,""); current = current.replace(/^\./g,""); current今天我們組三個專案已同時上線成功,可以下班了,這三個專案遇到的小bug改天再寫= current.replace(/\.{2,}/g,"."); current = current.replace(".","$#$").replace(/\./g,"").replace("$#$","."); current = current.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //保留兩位小數 } if(current>10000){ $(obj).val(9999); }else{ $(obj).val(current); } }