JSFiddle - React, Tailwind, and code Playground

by Terrance Smith

HTML

<input type="text" id="tester" value="Expression" />
<button id="btnExe">Test Expression</button>

JavaScript

$("#btnExe").click(function () {
    var testVal = $("#tester").val();
    alert(IsValidExpression(testVal));
});

var IsValidExpression = function (testVal) {
    var retval = hasLowercase(testVal) && hasUppercase(testVal) && hasDigit(testVal) && hasSpecialChar(testVal);
    return retval;
};

var hasLowercase = function (val) {
    var patt = new RegExp(/([a-z]+)/g);
    return patt.test(val);
};

var hasUppercase = function (val) {
    var patt = new RegExp(/([A-Z]+)/g);

    return patt.test(val);
};

var hasDigit = function (val) {
    var patt = new RegExp(/([d]+)/g);
    return patt.test(val);
};

var hasSpecialChar = function (val) {
    var patt = new RegExp(/([\~\`\!\@\#\$\%\^\&\*\(\)\_\+\-\=\|\}\{\\\]\[\'\;\"\:\/\.\,\?\>\<])+/g);
    return patt.test(val);
};