金額輸入校驗和小數校驗

金額的校驗,一般就是校驗是否是數字,多少位小數就行了!像題目的這種(1,234,567.45)格式,只是在頁面展示的時候,或者在用戶輸入的是否,格式化一下,讓用戶更方便的看清楚金額是多少,更好的一個體驗而已。實際上和後臺交互的時候,理論上傳過去還是1234567.45。不是1,234,567.45。數據庫存的也應該是1234567.45。
還有一個就是。萬一需求是需要按照金額排序呢,1,234,567.45這種格式後臺做不了排序的,前端這裏排序也是麻煩!要把逗號去掉再排序!
綜上所說
首先驗證金額是否合法的一個正則

οninput="value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"

/^[1-9]{1}\d*(.\d{1,2})?$|^0.\d{1,2}$/

clipboard.png

然後格式化輸出的函數

function formatText(str,size,delimiter){
    var _str=str.toString();
    var _size=size||3,_delimiter=delimiter||',';
    var regText='\\B(?=(\\w{'+_size+'})+(?!\\w))';
    var reg=new RegExp(regText,'g');
    return _str.replace(reg,_delimiter);
}

clipboard.png

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章