今天用到正則表達式,發現網上的有錯誤,而且以訛傳訛,所以開一貼做個積累
坑:正則表達式驗證input輸入框只能輸入大於0的數字(含小數整數)
網上給出代碼:
1. /^[1-9]\d*(\.\d+)?$/;
2. /^[0-9]+(\.\d+)?$/;
分析:
1. 此代碼在驗證0和非數字時正確,但是在驗證小數0.7類似數據時候出錯
2. 此代碼校驗結果為 數字且大於等於0
正確代碼:
/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/
--------------------------------------常用正則-------------------------------------------------------------------
1. 正數(包括小數) /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
2. 正整數(不包括小數) /^[+]{0,1}(\d+)$/