function phonenumberValidation(inputtext) {
var phonenumber = /^(?([0-9]{3})\)?[-.]?([0-9]{3})[-.]?([0-9]{4})$/
if (inputtext.value.match(phonenumber)); {
alert("Valid Phone Number");
return true;
} else {
alert("Not a valid Phone Number");
return false;
}
}
当我将其发布到jslint时,我从其验证器中得到以下错误:
有谁知道什么是错的?
答案 0 :(得分:0)
我认为你只需要逃避你的正则表达式中的破灭。但是在你的代码发布之前,你还需要做更多的工作。
以下代码lints,正则表达式仍在regex101.com结束(帽子提示为torazburo)。
/*jslint browser:true */
/*global window */
function phonenumberValidation(inputtext) {
"use strict";
var phonenumber = /[0-9]{3}?[\-.]?[0-9]{3}[\-.]?[0-9]{4}$/;
if (inputtext.value.match(phonenumber)) {
window.alert("Valid Phone Number");
return true;
}
// JSLint used to complain "Unnecessary 'else' after disruption.",
// but that's apparently no longer a requirement.
window.alert("Not a valid Phone Number");
return false;
}
这里有一个次要问题,as @torazaburo also mentions:如何在JavaScript中检查有效的电话号码,并且已经在StackOverflow上获得了许多答案。
我有点偏向this one但是,要清楚,我从未使用the library。它是谷歌,但它最近被修改了,所以很有可能它比我们在这里快速提出的任何事情做得更好。祝你好运。
答案 1 :(得分:-1)
你实际上有两个错误。正则表达式中的第一个括号需要进行转义,并且if
语句中存在非法分号。更正的功能是:
function phonenumberValidation(inputtext) {
var phonenumber = /^\(?([0-9]{3})\)?[-.]?([0-9]{3})[-.]?([0-9]{4})$/
if (inputtext.value.match(phonenumber)) {
alert("Valid Phone Number");
return true;
} else {
alert("Not a valid Phone Number");
return false;
}
}