JS ---- 保證輸入的爲整數/小數 數字前面去零

前言

  • 我們在處理一些數字的時候,難免會遇到一些需要輸入整數/小數等等的一些問題,在這裏記錄以下工具函數,以共勉!!!!!!!!
  • 如果你轉發了本篇文章或者下面的代碼,請註明出處 謝謝~~ THX ☆⌒(*^-゜)v THX!!

保證輸入的爲整數(正整數/負整數)

function clearNoNum(val) {
  let rv = '';
  if(val) {
   let nv = val.replace(/[^\d.]/g, '').replace(/\./g, '');
   switch (true) {
    case val.length>1 && val[0]=='-': rv = -nv; break;
    case val.length>1 && val[0]!='-': rv = nv; break;
    case val!='-' && val.length==1: rv = nv; break;
    default:break;
   }
  }
  return rv;
 }

保證輸入的爲小數(正小數/負小數)

function clearNoNumDecimal(val) {
  let rv = '';
  if(val){
   let nv = val.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace(/^\./g, '').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
   switch (true) {
    case val.length>1 && val[0]=='-': rv = '-' + nv; break;
    case val.length>1 && val[0]!='-': rv  = nv; break;
    case val!='-' && val.length==1: rv = nv; break;
    default:break;
   }
  }
  return rv;
 },

清除數字前面輸入的 0

function fixNumber(val){
  let rv = '';
  if(val){
   let nv = val.toString().replace(/0*(\d*)/,'$1');
   switch (true) {
    case Number(this.control.value) >= 0: rv = nv; break;
    case Number(this.control.value) < 0: rv = -nv; break;
    case this.control.value=='-': rv = ''; break;
    default:break;
   }
  }
  return rv;
 },
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章