这是我第一次尝试制作一个javascript而且我只是在两周前开始学习,所以很容易发现潜在的新闻。我基本上只是试图将国际号码转换为需要实际拨打的号码。
我需要弄清楚如何从phonenumber变量中删除前导零,而不是其他零。我已经看到了涉及parseInt和其他解决方案的答案,但我无法弄清楚如何实现它们。
<script>
var countrycode = document.getElementById("country").value;
var phonenumber = document.getElementById("phnm").value;
function updatecountrycode() // Updates country code on user change //
{countrycode = document.getElementById("country").value;}
function updatenumber() // Updates phone number on user input //
{phonenumber = document.getElementById("phnm").value;}
function fullnumber() // Displays country code + phone number //
document.getElementById("output").innerHTML = 9011 + countrycode + phonenumber};
</script>
<form>
Choose the country you want to call
<select id="country" onchange="updatecountrycode();">
<option>Choose Country</option>
<option value="44" id="uk">United Kingdom</option>
<option value="353" id="ire">Ireland</option>
</select>
<br>
<br>
Enter Phone Number
<input type="text" id="phnm" onchange="updatenumber()"><br>
</form>
<button type="button" onclick="fullnumber()">complete number will display</button>
<p id="output">test</p>
答案 0 :(得分:4)
一个简单的解决方案:
if (phonenumber.substr(0,1) == "0")
{
phonenumber = phonenumber.substr(1);
}
答案 1 :(得分:0)
JavaScript的:
var PhoneNumber = "0545";
var PhoneNumber = parseInt(PhoneNumber, "10");
问题解决了。 parseInt(10)的第二个参数是指示基于十进制的数字(默认为8)。但是,将数字解析为整数将很容易删除前导零 - 并且您不必担心子字符串或if语句。
答案 2 :(得分:0)
我为你创造了一个小提琴。 https://jsbin.com/dotoha/edit?html,js,output
parseInt解决方案工作正常,因为例如praseInt('032132323')将产生32132323
,对于多个前导零,它也将起作用
e.g。 parseInt('0003434344434')将提供3434344434
var countrycode = document.getElementById("country").value;
var phonenumber = document.getElementById("phnm").value;
function updatecountrycode() {
// Updates country code on user change //
countrycode = document.getElementById("country").value;
}
function fullnumber() {
// Displays country code + phone number //
var phonenumber = document.getElementById("phnm").value;
document.getElementById("output").innerHTML = 9011 + countrycode + parseInt(phonenumber);
}
答案 3 :(得分:0)
对不起,我知道我在这个问题上迟到了,但是我认为这个问题仍然与某些用户有关,因此我想分享一个我创建的简单功能,该功能可以为文本框删除零。
要使用此函数,只需将您的值解析为该函数中的参数,即removeZero(yourValue)
function removeZero(v) {
if ( v.charAt(0) == 0 ) {
return v.slice(1);
}
}