这是我的示例表单。我只需要一个文本框,我将在其中输入手机号码,我将从下拉框菜单中选择国家/地区,以便使用我使用http://www.phoneformat.com/的国家/地区验证手机号码。在这里,他们给出了一种方法isValidNumber(phno, country)
,用于验证国家/地区的电话号码(固定电话号码和手机号码)。
我的要求是我只需要允许手机号码,因为我使用了getNumberType(phno)
,但它没有给出任何结果,任何人都可以帮我检查输入的号码是固定号码还是手机号码?
<form name="fm" method="POST">
<input type="text" name="phno" id="phno"> <br>
<select id="Ultra">
<option value="0">Select</option>
<option value="IN">India</option>
<option value="AU">Australia</option>
<option value="CN">China</option>
<option value="US"> America </option>
</select><br><br>
<input type="submit" value="check" onclick="run()">
</form>
<script>
function run()
{
var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
var phno = document.getElementById("phno").value;
alert('Phone number is '+phno);
var res=isValidNumber(phno, country);
var country=document.getElementById("Ultra").value;
alert('Country code is '+country);
try{
var res1=getNumberType(phno);
alert('type of phone number is '+res1);
}catch(e){
alert(e);
}
alert("validation result is "+res);
}
</script>
答案 0 :(得分:1)
这里我创建了自己的方法并包含在phoneFormat.js(http://www.phoneformat.com/)中,对于MOBILE,它将给出1,对于FIXED_LINE,它将给出0.
function isMobileNumber(phone,country){ / *
Tests whether number the given number is Mobile or not.
*/
//alert('hello isMobileNumber()');
try {
var phone = cleanPhone(phone);
var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
var number = phoneUtil.parseAndKeepRawInput(phone, country);
// alert('hello isMobileNumber'+phoneUtil.getNumberType(number));
if(phoneUtil.getNumberType(number)==1){
return true;
}
return false;
} catch (e) {
alert(e);
//return false;
}
}
答案 1 :(得分:0)
你需要去
var res1= phoneUtil.getNumberType(phno);
希望这会起作用