gpt4 book ai didi

javascript - 函数未获取验证的第二部分

转载 作者:行者123 更新时间:2023-12-03 11:45:40 28 4
gpt4 key购买 nike

我正在研究表单验证,并且设置了一组逻辑结构和一组验证函数。一切都在进行,直到最后一组逻辑结构必须验证社会安全号码。

    var errors = 0;         
e.preventDefault();

if(checkIsNull($('#firstname').val())){
errors++;
$("#firstname").closest('.input-group').addClass('has-error');
}else{
$("#firstname").closest('.input-group').removeClass('has-error');
}

if(checkIsNull($('#lastname').val())){
errors++;
$("#lastname").closest('.input-group').addClass('has-error');
}else{
$("#lastname").closest('.input-group').removeClass('has-error');
}


var phone = ['phone_area', 'phone_exch', 'phone_num'];

for(var i = 0; i < phone.length; i++){
if(checkIsNull($('#'+phone[i]+'').val()) || onlyNumbers($('#'+phone[i]+'').val())){
errors++;
$('#'+phone[i]+'').closest('.input-group').addClass('has-error');
}else{
$('#'+phone[i]+'').closest('.input-group').removeClass('has-error');
}
}

if(checkIsNull($('#email').val()) || !validateEmail($('#email').val())){
errors++;
$("#email").closest('.input-group').addClass('has-error');
}else{
$("#email").closest('.input-group').removeClass('has-error');
}

var dob = ['birth_month', 'birth_day', 'birth_year'];

for(var i = 0; i < dob.length; i++){
if(checkIsNull($('#'+dob[i]+'').val()) || onlyNumbers($('#'+dob[i]+'').val())){
errors++;
$('#'+dob[i]+'').closest('.input-group').addClass('has-error');
}else{
$('#'+dob[i]+'').closest('.input-group').removeClass('has-error');
}
}

var ssn = ['ssn_group', 'ssn_id', 'ssn_number'];

for(var i = 0; i < ssn.length; i++){
if(checkIsNull($('#'+ssn[i]+'').val()) || onlyNumbers($('#'+ssn[i]+'').val())){
errors++;
$('#'+ssn[i]+'').closest('.input-group').addClass('has-error');
}else{
$('#'+ssn[i]+'').closest('.input-group').removeClass('has-error');
}
}

这是验证函数

//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'表示所有非数字而不是你想象的数字。

关于javascript - 函数未获取验证的第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064414/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com