


把獲取的input框中的值的空格去掉
'ss(ini123.ssss'.replace(/[^\d.]/g,'') // 結果是"123."
4.第一個數是.就替換成空字符串
".1213.22323".replace(/^\./g, '') // 結果:"1213.22323"
5.把最后的.都去掉
// 0次或多次
'瑟瑟發抖.....'.replace(/\.*$/g,'') // "瑟瑟發抖"
'瑟瑟發抖.....'.replace(/\.*$/g,'.') // "瑟瑟發抖." // 只保留一個點
"sfassadfs....sfsadfsa....".replace(/\.{2,}/g, '.') // 只保留一個點,清除多余的
"......sss....sss...ssss...ssss".replace(/\./g, '') // 把所有點都清除
6.匹配正整數或正小數
正則校驗金額,整數8位,小數3位。
網上太多了,但是錯誤的太多,只能自己去寫。
^[1-9]\d{0,7}(\.\d{1,3})?$|^0(\.\d{1,3})?$ 允許輸入整數8位,小數3位的金額!不能輸入0開頭的整數,如:0100
解析:
^ 匹配字符串的開始
[1-9] [ ] 表示區間,表示找到一個位置上的字符只能是1到9這四個數字
\d 匹配數字
{0,7} { }一般是用來匹配的長度. 匹配是0~7位的數字. 因為起頭我們默認了1-9隨機所有加上后面最大值7就是限制8位數。
() () 是為了提取匹配字符串的,表達式中有幾個()就有幾個相應的匹配字符串
\. . 本身是元字符,我們需要小數點字符串就需要轉義就要加上 \ 就變成 \.
{1,3} 匹配1~3位的值
正則用下面3個可替換有不同效果
? 重復零次或一次 100 -true 100.12 -true 100.12.12 -false
* 重復零次或更多次 100 -true 100.12 -true 100.12.12 -true
+ 重復一次或更多次 100 -false 100.12 -true 100.12.12 -true
| 正則用符號 | 來表示或,也叫做分支條件,當滿足正則里的分支條件的任何一種條件時,都會當成是匹配成功
^0 開頭值為0
& 匹配字符串的結束