jquery.alphanumeric.js
1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
(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);