jQuery.fn.jqSearch = function(options){ var defaults = { TxtVal:"输入关键词搜索!", KeyTxt1:"输入关键词搜索!", KeyTxt2:"输入的关键词字数不要过多!", KeyTxt3:"您输入的内容存在特殊字符!", KeyId:"topkey", KeyUrl:"#", KeyHref:"key", Static:false }; var opts = jQuery.extend(defaults,options); return this.each(function(){ _this=jQuery(this); $("#"+opts.KeyId).val(opts.TxtVal) $("#"+opts.KeyId).focus(function(){ if($(this).val()==opts.TxtVal){ $(this).val(""); } }); $("#"+opts.KeyId).blur(function(){ if($(this).val()==""){ $(this).val(opts.TxtVal); } }); function GoSearchUrl() { var searchinput = document.getElementById(opts.KeyId); if (searchinput.value == ""||searchinput.value == opts.TxtVal){ alert(opts.KeyTxt1); searchinput.focus(); return false; } if (searchinput.value.length > 50) { alert(opts.KeyTxt2); searchinput.focus(); return false; } var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()—|{}【】‘;:”“'。,、?]"); if(pattern.test(searchinput.value)){ alert(opts.KeyTxt3); searchinput.focus(); return false; } if(opts.Static){ //静态 Staticlinks =opts.KeyUrl; //+"?"+opts.KeyHref+"=" Staticurl="_"+opts.KeyHref+"_" + searchinput.value + ".html" Staticlinks = Staticlinks.replace(".html", Staticurl); window.location =Staticlinks; }else{ //动态 window.location = opts.KeyUrl+"?"+opts.KeyHref+"=" + escape(searchinput.value); } return true; } function entersearch(){ var event = window.event || arguments.callee.caller.arguments[0]; if (event.keyCode == 13){ GoSearchUrl(); } } function checkComments() { var event = window.event || arguments.callee.caller.arguments[0]; if (( event.keyCode > 32 && event.keyCode < 48) || ( event.keyCode > 57 && event.keyCode < 65) || ( event.keyCode > 90 && event.keyCode < 97)){ event.returnValue = false; } } function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"); var rs = ""; for (var i = 0; i < s.length; i++) { rs = rs + s.substr(i, 1).replace(pattern,''); } return rs; } _this.click(function(){ GoSearchUrl() }); $("#"+opts.KeyId).keydown(function(){ entersearch() }); }) }