-2

大家好,我正在尝试在申请表中进行一些验证。

我有 3 个用于不同手机号码的文本框,例如家庭、工作、手机等。我需要 1 个必填字段 3。用户必须输入至少 1 个 3。

有没有办法做到这一点?

4

4 回答 4

1

不要将输入值与 "" 或 '' 进行比较。用户可以简单地键入空格。而是检查或修剪空格并检查它是否是有效数字。

<script type="text/javascript">

//Check for all whitespace.
function hasWhiteSpace(s){
    return /^\s+$/g.test(s);
}

//Check for valid number
function isNumber(n) {
      return !isNaN(parseFloat(n)) && isFinite(n);
}

function validation(){
    var mobile = document.getElementById('mobile').value;
    var home = document.getElementById('home').value;
    var work = document.getElementById('work').value;

    var error = 0;

    if(!(!hasWhiteSpace(mobile) && isNumber(mobile))){
        error += 1;   
    } 
    if(!(!hasWhiteSpace(home) && isNumber(home))){
        error += 1;      
    } 
    if(!(!hasWhiteSpace(work) && isNumber(work))){
        error += 1;   
    } 

    if(error == 3){
        alert("You must enter at least one contact number.");
        return false;
    }else{
        return true; 
    }
}
</script>

在提交时从您的表单调用验证()。

<form onsubmit="return validation();">

JavaScript 号码验证

JavaScript 检查空白

希望这可以帮助

于 2012-11-02T13:38:38.007 回答
1

您可以尝试下面给出的代码

 <script type="text/javascript">
       function checkValidation(){
            var mobile = document.getElementById('mobile').value;
            var gome = document.getElementById('home').value;
            var work = document.getElementById('work').value;
            var error_count = 0;

            if(mobile == ''){
                error_count = error_count + 1;   
            } 
            if(home == ''){
                error_count = error_count + 1;   
            } 
            if(work == ''){
                error_count = error_count + 1;   
            } 

            if(error_count == 3){
                 alert("Please add at least one from mobile ,work,home contact no.! ");
                 return false;
             }else{
                   return true; 
             }
       }
 </script>

你可以尝试这样的事情。

谢谢

于 2012-11-02T13:27:23.363 回答
1

我希望这对您正在寻找的内容有所帮助。如果您在提交调用validation() 函数时使用html 表单:

<script type="text/javascript">
function validation() {
  var a = document.form.phone.value;
  var b = document.form.mobile.value;
  var c = document.form.home.value;
  if(a=="" && b =="" && c =="") {
    alert("Please Enter at least one Number");
    //add other validation if you need here
    document.form.phone.focus(); // focus the first field for example
    return false;
  }
}
</script>
于 2012-11-02T13:33:33.127 回答
0

jQuery 以防万一

演示

HTML:

<form id="form1">
  Home <input type="phone" class="phones"><br/>
  Work <input type="phone" class="phones"><br/>
  Mobile <input type="phone" class="phones"><br/>
  <input type="submit">
</form>
​

JS:

$(function(){
    $("#form1").on("submit",function() {
        var notempty = $(".phones[value!='']"); // you can extend this test
        if (notempty.length<1) {
            alert('Please fill at least one number');
            $(".phones:first").focus();
            return false;
        }
        return true;
    });
}); ​
于 2012-11-02T13:42:42.833 回答