如何使用 javascript 验证电话号码
How do I validate a phone number with javascript?
比我聪明一点的人能帮我做这个功能吗?其目的是验证表单中的文本输入,即仅接受 0-9、破折号和点的电话号码字段。HTML 调用该函数很好。
function validateFeedback() {
var phone = document.getElementById("phone");
var validNumber = "0123456789.-";
for (i = 0; i < phone.length; i++); {
if (validNumber.indexOf(phone.charAt(i)) == -1); {
alert("You have entered an invalid phone number");
return false;
}
}
return true;
}
非常感谢任何帮助。
正则表达式应该有助于;)
很抱歉我没有尝试运行此代码,但它应该没问题。
function validateFeedback(){
var phone = document.getElementById("phone");
var RE = /^['d'.'-]+$/;
if(!RE.test(phone.value))
{
alert("You have entered an invalid phone number");
return false;
}
return true;
}
尝试如下:
function validateFeedback()
{
var phone = document.getElementById("phone");
var validNumber = "0123456789.-";
for(i = 0; i < phone.length; i++) {
if(validNumber.indexOf(phone.charAt(i)) == -1) {
alert("You have entered an invalid phone number");
return false;
}
}
return true;
}
有 ; 不合时宜...
我认为
你应该使用正则表达式来做到这一点。有些东西链接这个:
function validateFeedback() {
var phone = document.getElementById("phone").value;
var reg = new RegExp("[0-9 .-]*");
return reg.test(phone);
}
如果文本输入在表单中,则可以使用表单 id 和元素 id 更直接地引用它:
var phone = document.<formId>.phone;
您要测试的是元素的值,因此您需要:
var phone = document.<formName>.phone.value;
由于该函数可能是从表单上的提交侦听器调用的,因此您可以使用以下命令提高效率:
<form onsubmit="return validateFeedback(this);" ...>
在我看来,电话号码只有数字,没有"-"或"."字符,因此您应该只测试数字 0-9。
所以函数可以是这样的:
function validateFeedback(form) {
var phoneValue = form.phone.value;
// Use a regular expression to validate the value
// is only digits
if (/'D/.test(phoneValue) {
// value contains non-digit characters
// advise user of error then
return false;
}
}
您可能也想测试长度是否合理,但请注意,不同地方的电话号码长度不同,具体取决于地区或国家/地区代码的位置和使用,以及该号码是用于手机、固定电话还是其他号码。
我更喜欢对这样的事情使用正则表达式。请查看我的函数修改版本,该版本应该可以在没有任何框架的情况下在所有主要浏览器中运行。
function validateFeedback() {
// Get input
var phone = document.getElementById("phone"),
// Remove whitespaces from input start and end
phone = (phone || '').replace(/^'s+|'s+$/g, ''),
// Defined valid charset as regular expression
validNumber = "/^[0123456789.-]+$/";
// Just in case the input was empty
if (phone.length == 0) {
// This depends on your application - is an empty number also correct?
// If not, just change this to "return false;"
return true;
}
// Test phone string against the regular expression
if (phone.match(validNumber)) {
return true;
}
// Some invalid symbols are used
return false;
}
试试这个
function validateFeedback(value) {
var length = value.length;
chk1="1234567890()-+ ";
for(i=0;i<length;i++) {
ch1=value.charAt(i);
rtn1=chk1.indexOf(ch1);
if(rtn1==-1)
return false;
}
return true;
}
function phonenumber(inputtxt)
{
var phoneno = /^'d{10}$/;
if((inputtxt.value.match(phoneno))
{
return true;
}
else
{
alert("message");
return false;
}
}
相关文章:
- 带有加号的电话号码验证(可选)
- 什么是英国电话号码验证表达式和语法
- js中的电话号码验证
- jQuery嵌套的电话号码验证
- Javascript 电话号码验证 参数符号
- 澳大利亚电话号码验证
- Regex Javascript电话号码验证最小-最大长度检查
- Regex用于广泛的电话号码验证
- 带有自定义约束的电话号码验证正则表达式
- 电话号码验证中的错误
- javascript中的手机或电话号码验证
- 只接受+和-符号的电话号码验证
- JQuery电话号码验证
- 使用onblur进行电话号码验证似乎陷入了循环
- 电话号码验证html表单
- 电话号码验证问题
- 电话号码验证器按钮不起作用
- 特定格式的电话号码验证
- 用于电话号码验证的Javascript正则表达式.字符串至少包含1位数字,0个或多个空格和'-'
- 电话号码验证Javascript