Comparar formato 2 input

obligatorio version formato mismo verion segundo input posterior

by Luis Martin

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="contrato1" value="aaa0000/v0000">
<input type="text" id="contrato2" value="aaa0100/v0000">

<p id="aviso"></p>
<input type="button" id="descargar" value="descargar" disabled>

JavaScript

var mensaje = document.getElementById("aviso");
  var boton = document.getElementById("descargar");
  var contrato1 = document.getElementById("contrato1");
  var contrato2 = document.getElementById("contrato2");
  var numContrato1 = 0;
  var numContrato2 = 0;
  function comprobar(elem1) {
    //var elem1 = document.getElementById(id);
    var elem2 = document.getElementById(elem1.id == "contrato1" ? "contrato2" : "contrato1");

    //var pattern = new RegExp(/^(([a-z]{3}\d{4}(\/\d{2}-\d{2})?)|((([a-z]\d{6})|([a-z]{3}\d{4}))(\/v\d{4})?))$/i);
    var pattern1 = new RegExp(/^[a-z]{3}\d{4}\/\d{2}-\d{2}$/i); // AAAXXXX/XX-XX
    var pattern2 = new RegExp(/^[a-z]{3}\d{4}\/v\d{4}$/i);      // AAAXXXX/VXXXX
    var pattern3 = new RegExp(/^[a-z]\d{6}\/v\d{4}$/i);         // AXXXXXX/VXXXX

    if (pattern1.test(elem1.value.trim()) || elem1.value.trim() == "") {

      cambiarColor(elem1, "");
      if (!(pattern1.test(elem2.value.trim()) || elem2.value.trim() == "" || elem1.value.trim() == "")) {

        mensaje.innerHTML = "no es el mismo formato de contrato";
        boton.disabled = true;
      } else {
        comprobarBoton();
      }

    } else if (pattern2.test(elem1.value.trim()) || elem1.value.trim() == "") {

      cambiarColor(elem1, "");
      if (!(pattern2.test(elem2.value.trim()) || elem1.value.trim() == "" || elem2.value.trim() == "")) {
        mensaje.innerHTML = "no es el mismo formato de contrato";
        boton.disabled = true;
      } else {
        comprobarBoton();
      }

    } else if (pattern3.test(elem1.value.trim()) || elem1.value.trim() == "") {

      cambiarColor(elem1, "");
      if (!(pattern3.test(elem2.value.trim()) || elem1.value.trim() == "" || elem2.value.trim() == "")) {

        mensaje.innerHTML = "no es el mismo formato de contrato";
        boton.disabled = true;
      } else {
        comprobarBoton();
      }

    } else {

      cambiarColor(elem1, "red");
      boton.disabled = true;

    }

  }

  function...