RegexSerNum

by Jose Montero

HTML

<input name="serial"><br />
<button>
Test 
</button>
<div id="result">

</div>

CSS

.red{
  margin: 10px 5px;
  color : red;
  font-weight: bold;
}
.blue{
  font-weight: bold;
  color : blue;
}

JavaScript

$(document).ready(function(){
	$('button').click(test);
  $('input').click(function(){ 
  	$("#result").hide().removeClass('blue'); 
  })
})

function test()
{
	var serialNumber = $('input').val().trim();
  
  var digits = serialNumber.match(/\d+/g) || 0;
  
  console.log(digits)
  
  console.log('Test Regex')
  var serDigitsLen = (digits ? digits[0].length : 0);
  
 console.log(serDigitsLen)

  if(/^R|^\d/.test(serialNumber) == false)
  {
  	$("#result").html(`Serial number: [${serialNumber}] must start with an R or a digit!`)
    .addClass('red')
    .show();
  }
  else if(/\s+/.test(serialNumber))
  {
  	$("#result").html(`Serial number: [${serialNumber}] cannot contains spaces!`)
    .addClass('red')
    .show();
  }
  else if(digits.length > 1)
  {
  	$("#result").html(`Serial number: [${serialNumber}] numeric portion must be digits only!`)
    .addClass('red')
    .show();
  } 
   else if(/[a-qA-Qs-zS-Z$]/.test(serialNumber))
  {
  	$("#result").html(`Invalid Serial number: [${serialNumber}]!`)
    .addClass('red')
    .show();
  }    
  else if(serDigitsLen < 4 || serDigitsLen > 7)
  {
  	$("#result").html(`Serial number: [${serialNumber}] must be between 4 and 7 digits!`)
    .addClass('red')
    .show();
  }    
  else
  {
    	$("#result").html(`Serial number: [${serialNumber}] is valid!`)
    .addClass('blue')
    .show();
  }
  
}