InputMask Test

HTML

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<form id="dataform" method="get" action="#">
    <label>A test for my input field</label>
    <input id="mytextfield" value="notAcCepted" inputmask="254" type="text" required></input>
</form>

CSS

.error {
    color: red
}

JavaScript

var inputClasses = {
    upper: {
        chars: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        mask: 1
    },
    lower: {
        chars: "abcdefghijklmnopqrstuvwxyz",
        mask: 1 << 1
    },
    digits: {
        chars: "0123456789",
        mask: 1 << 2
    },
    operators: {
        chars: "/*-+",
        mask: 1 << 3
    },
    underline: {
        chars: "_",
        mask: 1 << 4
    },
    space: {
        chars: " ",
        mask: 1 << 5
    },
    brackets: {
        chars: "()[]{}",
        mask: 1 << 6
    },
    special: {
        chars: "@|~!$%&amp;,:;&lt;=&gt;?\\^.",
        mask: 1 << 7
    }
};

var isAccepted = function (checkmask, typemask) {
    return (checkmask & typemask) !== 0;
};

$.validator.messages.inputmask = $.validator.format("don't use that: input mask is {0}");

$.validator.methods.inputmask = function (value, element, param) {
    var accChars = "";

    // Get a list of all accepted chars
    for (var key in inputClasses) {
        var icls = inputClasses[key];
        if (isAccepted(param, icls.mask)) accChars += icls.chars;
    }
    // for each char check if it is within a list
    for (var i = 0; i < value.length; i++) {
        if (accChars.indexOf(value[i]) === -1) return false;
    }
    return true;
};

$(function () {
    $("#dataform").validate();
    $("#dataform").valid();
});