我想使用 JavaScript 验证手机号码。
这是我的代码。
if(number.value == "") {
window.alert("Error: Cell number must not be null.");
number.focus();
return false;
}
if(number.length != 10) {
window.alert("Phone number must be 10 digits.");
number.focus();
return false;
}
这是问题,当我提交表格时没有输入电话号码,它显示错误单元格编号不能为空。它工作正常。
当我提交小区号码小于10位的表格时,显示的电话号码必须是10位数。这也很好。
问题是当我提交10位数的表格时,它也显示错误电话号码必须是10位数。
请帮帮我。 谢谢。
并且还需要仅针对单元格编号的数字的验证代码。
答案 0 :(得分:15)
如果number
是您的表单元素,那么它的长度将为undefined
,因为元素没有长度。你想要
if (number.value.length != 10) { ... }
一次更简单的方法就是使用正则表达式进行所有验证:
var val = number.value
if (/^\d{10}$/.test(val)) {
// value is ok, use it
} else {
alert("Invalid number; must be ten digits")
number.focus()
return false
}
\d
表示“数字”,{10}
表示“十次”。 ^
和$
将其锚定到开头和结尾,因此asdf1234567890asdf
之类的内容不匹配。
答案 1 :(得分:4)
function IsMobileNumber(txtMobId) {
var mob = /^[1-9]{1}[0-9]{9}$/;
var txtMobile = document.getElementById(txtMobId);
if (mob.test(txtMobile.value) == false) {
alert("Please enter valid mobile number.");
txtMobile.focus();
return false;
}
return true;
调用验证移动电话号码功能HTML代码 -
答案 2 :(得分:1)
Mobile number Validation using Java Script,此链接将提供 演示 以及更多信息。
struct student
{
int ID;
char* name;
};
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
alert("Please enter only Numbers.");
return false;
}
return true;
}
function ValidateNo() {
var phoneNo = document.getElementById('txtPhoneNo');
if (phoneNo.value == "" || phoneNo.value == null) {
alert("Please enter your Mobile No.");
return false;
}
if (phoneNo.value.length < 10 || phoneNo.value.length > 10) {
alert("Mobile No. is not valid, Please Enter 10 Digit Mobile No.");
return false;
}
alert("Success ");
return true;
}
答案 3 :(得分:0)
验证此代码: 它适用于以ms crm 2016形式更改电话号码字段。
function validatePhoneNumber() {
var mob = Xrm.Page.getAttribute("gen_phone").getValue();
var length = mob.length;
if (length < 10 || length > 10) {
alert("Please Enter 10 Digit Number:");
Xrm.Page.getAttribute("gen_phone").setValue(null);
return true;
}
if (mob > 31 && (mob < 48 || mob > 57)) {} else {
alert("Please Enter 10 Digit Number:");
Xrm.Page.getAttribute("gen_phone").setValue(null);
return true;
}
}
答案 4 :(得分:0)
此功能会在按键时检查特殊chars
,如果不是number
function mobilevalid(id) {
var feild = document.getElementById(id);
if (isNaN(feild.value) == false) {
if (feild.value.length == 1) {
if (feild.value < 7) {
feild.value = "";
}
} else if (feild.value.length > 10) {
feild.value = feild.value.substr(0, feild.value.length - 1);
}
if (feild.value.charAt(0) < 7) {
feild.value = "";
}
} else {
feild.value = "";
}
}
答案 5 :(得分:0)
如果输入:
if { number.value.length!= 10}...
它肯定会起作用,因为该值是从对象驱动的数量。
答案 6 :(得分:0)
<script type="text/javascript">
function MobileNoValidation()
{
var phno=/^\d{10}$/
if(textMobileNo.value=="")
{
alert("Mobile No Should Not Be Empty");
}
else if(!textMobileNo.value.match(phno))
{
alert("Mobile no must be ten digit");
}
else
{
alert("valid Mobile No");
}
}
</script>
答案 7 :(得分:0)
我使用了以下代码。
var mobileNumber=parseInt(no)
if(!mobileNumber || mobileNumber.toString().length!=10){
Alert("Please provide 10 Digit numeric value")
}
如果手机号码不是数字,它将给出NaN
的值。
答案 8 :(得分:0)
<script>
function validate() {
var phone=document.getElementById("phone").value;
if(isNaN(phone))
{
alert("please enter digits only");
}
else if(phone.length!=10)
{
alert("invalid mobile number");
}
else
{
confirm("hello your mobile number is" +" "+phone);
}
</script>