如何使用javascript验证电话号码?
比我聪明一点的人能帮我完成这个功能吗?它的目的是验证表单中的文本输入,即只接受0-9、破折号和点的电话号码字段。HTML调用函数fine如何使用javascript验证电话号码?,javascript,validation,Javascript,Validation,比我聪明一点的人能帮我完成这个功能吗?它的目的是验证表单中的文本输入,即只接受0-9、破折号和点的电话号码字段。HTML调用函数fine function validateFeedback() { var phone = document.getElementById("phone"); var validNumber = "0123456789.-"; for (i = 0; i < phone.length; i++); { if (validN
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;
}
函数validateFeedback(){
var phone=document.getElementById(“电话”);
var validNumber=“0123456789-”;
对于(i=0;i
非常感谢您的帮助。尝试以下方法:
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;
}
函数validateFeedback()
{
var phone=document.getElementById(“电话”);
var validNumber=“0123456789-”;
对于(i=0;i
有不合适 试试这个
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;
}
函数validateFeedback(值){
变量长度=value.length;
chk1=“1234567890()-+”;
对于(i=0;i我认为您应该使用正则表达式来完成此操作
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;
您可能也希望测试长度是否合理,但请注意,不同位置的电话号码长度不同,这取决于地区或国家代码的位置和使用情况,以及该号码是用于移动电话、固定电话还是其他电话。正则表达式应该有所帮助;)
很抱歉,我没有尝试运行此代码,但应该可以
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() {
// 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;
}
你有;在for和if块(第4行和第5行)…如果这是一个打字错误,你可能想编辑它,否则这可能是你的问题,嗯,这并不能解决它(尽管感谢你指出这一点)。我猜if或for语句中有一些缺陷。有什么想法吗?编辑:我想在原始帖子中写下函数的作用,我现在就添加它。感谢大家的建议!这比我的深夜代码好得多。再次感谢!这不会真的起作用,因为它基本上可以接受任何character,甚至是空字符串
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(){
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() {
// 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 phonenumber(inputtxt)
{
var phoneno = /^\d{10}$/;
if((inputtxt.value.match(phoneno))
{
return true;
}
else
{
alert("message");
return false;
}
}