函数没有拿起验证的第二部分

问题描述:

我正在进行表单验证,并且我有一套逻辑结构设置和一组验证函数。一切都在努力达到必须验证社会安全号码的最后一组逻辑结构。函数没有拿起验证的第二部分

下面是验证功能

//check if an input field is null 
function checkIsNull(s){ 
    if(s == ''){ 
     return true; 
    }else{ 
     return false; 
    } 
} 

//check if a phone number entered is valid 
function validatePhoneNumber(s){ 
    var str = s; 
    str = str.replace(/[^0-9]/g, ''); 
    if(str.length != 10 || str == ""){ 
     return false; 
    } 
    else{ 
     return true; 
    } 
} 

//check if something only has numbers in it 
function onlyNumbers(num){ 
    var res = /\D+/g.test(num); 
    return res; 
} 

function validateEmail(s){ 
    var str = s; 
    var res = str.match(/[!#$%&'*+-\/=?^_`{|}~a-zA-Z0-9.]*@\w+\.\w+/g); 
    if(res){ 
     return true; 
    }else{ 
     return false; 
    } 
} 

的电话号码和社会安全号码验证方式不尽相同,但在与社会安全号码我输入的字母不拿起输入字段中的字母。

有关于此的任何想法,还是有人可以指出我在正确的方向吗?

函数onlyNumbers实际上使用'\ D'而不是'\ d','\ D'表示所有非数字的非数字,正如您所想象的那样。

+0

实际上,否\ D会检查它是否包含任何不是数字的东西。所以它的工作原理就像是假设的那样。我解决了这个问题。当迭代.input-group循环时,我需要添加中断。 – 2014-09-26 18:33:09

+0

函数被称为onlyNumber,并且您正在验证字符串是否为非数字,这是我的观点。不管怎么样,放置休息并不是一件好事 – 2014-09-26 18:34:36

+0

你的观点是无效的。正则表达式模式将抓住任何标识,无论它是否是一个字符串。阅读正则表达式模式以及它们如何处理信息。如果您可以确定一种更好的方式来验证该信息而不使用中断,请给我看看。 – 2014-09-26 18:39:19

我解决了我自己的问题。发生了什么事情是,当检查电话号码,出生日期和ssn的循环被迭代时,如果最后一项签出了错误类将被删除。因此,当发现错误以保持显示正确时,我必须在这些循环中添加中断。