js 正則 與 字符截取

參考語法 : http://blog.didispace.com/regular-expression-1/
工具生成各種語言 :http://tools.jb51.net/regex/create_reg
語言 : js
需求 : 獲取正負數的帶有小數點的數字字符

var pattern = /(-)?\d+[//.]\d+/;
var str = "$-1234.34";
var result=str.match(pattern);
if(result && result.length>0){
  //判斷下然後才顯示比較好
  console.log(result[0]);
}

測試結果:

var str = "$1234.34";
VM763:6 1234.34

var str = "$-1234.34";
VM766:6 -1234.34

截取字符操作: replace

var str="¥12342.5";
var result=matchMoney(str);
console.log("結果爲  :  ",result);

function matchMoney(money){
  var arr=["¥","¥","$","€","R$","£"];
  var result = money;
  for(var k in arr){
     if(money && money.indexOf(arr[k])==0){
	  result=str.replace(arr[k],"");
	  break;
     }
  }
  return result;
}

replaceAll例子:

var str="¥¥¥¥12342.5 - ¥¥¥¥45.89";
var result=matchMoney(str);
console.log("結果爲  :  ",result);

function matchMoney(money){
  var arr=["¥","¥","$","€","R$","£"];
  var result = money;
  for(var k in arr){
     if(money && money.indexOf(arr[k])> -1){
      //result=str.replace(arr[k],"");
      result=result.replace(new RegExp(arr[k],"gm"),"");
     }
  }
  return result;
}

replaceALL方法:

String.prototype.replaceAll  = function(s1,s2){     
  return this.replace(new RegExp(s1,"gm"),s2);     
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章