1 var JVerify = { 2 role: { number: /[0-9]/, decimal: /[0-9\.]/ }, 3 Verify: function () { 4 for (var prop in JVerify.role) { 5 $("[role^='" + prop + "']").each(function () { 6 var obj = $(this); 7 var values = obj.attr("role").split("-"); 8 var length = 16; 9 if (values.length > 1) { 10 length = values[1]; 11 } 12 obj.attr("maxlength", length); 13 obj.keypress(function (e) { 14 if (!String.fromCharCode(e.keyCode).match(JVerify.role[$(this).attr("role").replace(/-\d+/, "")])) { 15 return false; 16 } 17 }).keyup(function () { 18 var input = $(this); 19 var text = input.val(); 20 input.val(""); 21 var content = ""; 22 var regex = JVerify.role[$(this).attr("role").replace(/-\d+/, "")]; 23 var isDot = false; 24 for (var i = 0; i < text.length; i++) { 25 if (text[0] == ".") { 26 continue; 27 } 28 if (text[i] == ".") { 29 if (isDot == false) { 30 content += "."; 31 isDot = true; 32 } 33 continue; 34 } 35 if (text[i].match(regex)) { 36 content += text[i]; 37 } 38 } 39 input.val(content); 40 }); 41 }) 42 } 43 } 44 }
调用代码:
JVerify.Verify();
自定义格式:
JVerify.role.myRegex = /[a-z]/;