2016-03-03 48 views
0

因此,作为学校工作的一部分,我需要在java脚本中验证电话号码。我浏览了几页,但没有一篇是关于我需要的格式,我无法将其转换为一种格式。我需要做的是验证输入的数字是否符合以下标准:以0开始,只有数字,并且在前3个字母之后有一个破折号。举个例子:052-7221945我需要那种号码才能被接受。帮助将不胜感激。在javascript中验证电话号码

+5

欢迎来到StackOverflow!我们不会为你做你的功课。请向我们展示您为解决问题所做出的真诚努力,我们将帮助您解决您遇到的问题。有关本网站如何工作的更多信息,请参阅帮助文档。(http://stackoverflow.com/help/asking) – Blazemonger

+0

祝您的教育顺利。你将需要它。 –

回答

0
<script> 
function Myfuc() { 
    var x = document.forms[0]["mobile"].value; 
    var z = document.forms[0]["mobile1"].value; 
if(x == null || x == '') 
    { 
     alert("Field canot be empty"); 
     return false; 
    } 

    if(x[0]!=0) // Starting with zero 
    { 
     alert("Mobile number should start with Zero"); 
     return false; 
    } 
    var y=isNaN(x); // Checking numerals in first text box 
    if(y == true) 
    { 
     alert("Integers only accepted"); 
     return false; 
    } 
    var z1=isNaN(z); // Checking numerals in first text box 
    if(z1 == true) 
    { 
     alert("Integers only accepted"); 
     return false; 
    } 

    } 
</script> 

<form onsubmit="Myfuc()"> 
Mobile : <input type="text" id="mobile" name="mobile" style="width:40px;" maxlength=3> - 
<input type="text" name="mobile1" maxlength=7> 

<input type="submit" value="Click" name="sub" > 

</form> 

一切都在这里!花了1 hr和imma初学者,不用担心代码运作良好:-)

+0

非常感谢!我使用这段代码并将其格式化到网站中,经过一些工作后,它终于像我想要的那样工作^^ :))) –

0

您可以使用此reg表达式。我对reg表达式不太满意,但这可能适用于您的情况。

0\d{2}-\d{7} 

/* start match with 0 
    check for 2 additional digits 
    check for hyphen 
    check for 7 additional digits after hyphen 
*/ 
0

我也很喜欢创建正则表达式;然而,你总是可以这样做:

var str = document.getElementById('myInput').value, 
numberOnly = str.replace(/-/g, ''), 
errors = [], i; 

if (isNaN(numberOnly)) { 
    errors.push('You must use numbers!'); 
} else if (str.split('-')[0].length !== 3 || str.split('-')[1] !== 7 || numberOnly > 10) { 
    errors.push('Invalid Format!'); 
} else { 
    console.log(numberOnly + ' is ok!'); 
} 

if (errors) { 
    for (i = 0; i < errors.length; i++) { 
     console.log(i + '. ' + errors[i]); 
    } 
} 

它只是测试提交的字符串的每个部分。

首先它检查看到(在我们删除连字符后)提交的值实际上是一个数字。其次,它将字符串分成两半,检查字符串的开始是否有3个字符,然后如果字符串的末尾有7个字符;最后,它会测试数字是否太大......等等,你甚至可以检查它是否太小。

如果你找到一个体面的正则表达式,你可以改用switch语句来捕获错误(如果有的话)。

我想可能看起来像[0-9] {3}( - )[0-9] {7}或类似的东西。

-

我一直使用PHP一段时间,所以我忘了,如果“长度”返回计数或字符的实际字节大小,例如“é”是2个字节。

编辑:

要检查字符串的第一个字符是 “0”,你总是可以做:你问

if (str.length > 0 && str.charAt(0) != 0) { console.log('error'); }