用于替换字符串

时间:2016-07-01 14:02:25

标签: javascript regex cordova

我正在使用phonegap中的手机目录应用 我需要在手机号码上进行一些javascript操作 例如,如果我添加了Denmark 45

的国家/地区代码

现在,我必须检查是否有任何手机号码包含45,例如4572342245

然后我想删除国家/地区代码并将其保存在

等其他字段中
CCode   Mobile
45      72342245

我用

完成了
var numwithcode = "4572342245";
var newNumber = numwithcode .replace(/^45+/i, ''); 

alert(newNumber); //72342245

我想要做同样的事情,例如Australia 61然后

var numwithcode = "6172342245";
var newNumber = numwithcode.replace(/^61+/i, ''); 

alert(newNumber); //72342245

我想要的是为任何选定的国家/地区代码设置此条件动态

,例如

var countrycodehere = document.getElementById("countrycodefield").value;
var numwithcode = "6172342245";
var number = newNum.replace(/^countrycodehere+/i, ''); 

alert(number);

但是,我为此做的大部分测试都失败了。

由于

1 个答案:

答案 0 :(得分:2)

可以使用

从字符串创建正则表达式
var re = new RegExp( string );

所以你可以这样做:

var countrycodehere = document.getElementById("countrycodefield").value,
    numwithcode = "6172342245",
    re = new RegExp( countrycodehere ),
    number;

number = numwithcode.replace(re, ''),

alert(number);

请注意,+不会被添加,也不会。因为这意味着区域代码中最后一位数字的重复也将被删除。

function doAction() {

  var countrycodehere = document.getElementById("countrycodefield").value,
      numwithcode = document.getElementById("phonefield").value,
      re = new RegExp( countrycodehere ),
      number;

  number = numwithcode.replace(re, ''),

  alert(number);
}
<!DOCTYPE html>
<html>
<body>

<form>
Phone number: <input id="phonefield" type="text" value="6172342245"/><br/>
Area code: <input id="countrycodefield" type="text"/><br/>
<button onclick="doAction()">Process</button>
</form>

</body>
</html>