简单的验证javascript函数

时间:2014-04-07 11:34:45

标签: javascript

我有这个javascript函数:

if (myform.telephone.value.length < 10){
jAlert ('Please enter at least 10 characters!',function(){$(myform.telephone).focus();});
return false;

如果用户输入少于10个字符,则会触发警报。我需要修改脚本,以便在用户输入少于10个DIGITS(0,1,2等)时弹出警报。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

更新:正如OP正确指出的那样,上一个方法中存在一个错误。我建议不要使用isNan,因为它已被破坏。我已经更新了答案,代码如下。

这可以通过对正则表达式计算输入然后检查结果数字是否有10位或更多位来轻松完成。像:

var validate = function(){
    var number = tryParseNumber(input.value);
    if(number.toString().length < 10){
        alert("Invalid input");
    } else {
        alert("Valid output: " + number);
    }
};

var tryParseNumber = function (value) {
  if(/^(\-|\+)?([0-9]+|Infinity)$/.test(value))
    return Number(value);
  return false;
}    

See this Fiddle for a working example

答案 1 :(得分:1)

尝试:

function phonenumber(inputtxt)  
{  
  var phoneno = /^\d{10}$/;  
  if((inputtxt.value.match(phoneno))  
        {  
      return true;  
        }  
      else  
        {  
        alert("message");  
        return false;  
        }  
}  

有效的电话号码 XXX-XXX-XXXX XXX.XXX.XXXX XXX XXX XXXX

function phonenumber(inputtxt)  
{  
  var phoneno = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;  
  if((inputtxt.value.match(phoneno))  
        {  
      return true;  
        }  
      else  
        {  
        alert("message");  
        return false;  
        }  
}  

如果您想以下列方式在号码前使用+号 + XX-XXXX-XXXX + XX.XXXX.XXXX + XX XXXX XXXX 使用以下鳕鱼

function phonenumber(inputtxt)
{
  var phoneno = /^\+?([0-9]{2})\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/;
  if((inputtxt.value.match(phoneno))
        {
      return true;
        }
      else
        {
        alert("message");
        return false;
        }
}