73 lines
1.3 KiB
JavaScript
73 lines
1.3 KiB
JavaScript
(function ($) {
|
|
$.fn.alphanumeric = function (p) {
|
|
|
|
p = $.extend({
|
|
ichars: "!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.- ",
|
|
nchars: "",
|
|
allow: ""
|
|
}, p);
|
|
|
|
return this.each
|
|
(
|
|
function () {
|
|
|
|
if (p.nocaps) p.nchars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
if (p.allcaps) p.nchars += "abcdefghijklmnopqrstuvwxyz";
|
|
|
|
s = p.allow.split('');
|
|
for (i = 0; i < s.length; i++) if (p.ichars.indexOf(s[i]) != -1) s[i] = "\\" + s[i];
|
|
p.allow = s.join('|');
|
|
|
|
var reg = new RegExp(p.allow, 'gi');
|
|
var ch = p.ichars + p.nchars;
|
|
ch = ch.replace(reg, '');
|
|
|
|
$(this).keypress
|
|
(
|
|
function (e) {
|
|
|
|
if (!e.charCode) k = String.fromCharCode(e.which);
|
|
else k = String.fromCharCode(e.charCode);
|
|
|
|
if (ch.indexOf(k) != -1) e.preventDefault();
|
|
if (e.ctrlKey && k == 'v') e.preventDefault();
|
|
|
|
}
|
|
);
|
|
|
|
$(this).bind('contextmenu', function () { return false });
|
|
}
|
|
);
|
|
|
|
};
|
|
|
|
$.fn.numeric = function (p) {
|
|
|
|
var az = "abcdefghijklmnopqrstuvwxyz";
|
|
az += az.toUpperCase();
|
|
|
|
p = $.extend({
|
|
nchars: az
|
|
}, p);
|
|
|
|
return this.each(function () {
|
|
$(this).alphanumeric(p);
|
|
});
|
|
};
|
|
|
|
$.fn.alpha = function (p) {
|
|
|
|
var nm = "1234567890";
|
|
|
|
p = $.extend({
|
|
nchars: nm
|
|
}, p);
|
|
|
|
return this.each(function () {
|
|
$(this).alphanumeric(p);
|
|
}
|
|
);
|
|
|
|
};
|
|
|
|
})(jQuery); |