function NumFormat(){ var _this = this; _this.format = function(str,opa){ var tempOpa = { digit:2,//保留小数点后几位 } $.extend(tempOpa,opa) return _this._spot(str) } //抓取所有数字与小数点 _this._getNum = function(str){ return str.replace(/[^d.]/ig,""); } //排除多余小数点 _this._spot = function(str){ var s = _this._getNum(str); var arr = s.split('.').filter(function(v){return v}); return arr[0]+'.'+arr[1]; } } var nf = new NumFormat(); var nn = nf.format('ss.12sg3.4x5s6.7x8gg9',{ }) console.log(11,nn)