我正在使用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);
但是,我为此做的大部分测试都失败了。
由于
答案 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>