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();
}
}