js自动过滤替换页面文本框和文本域内容中的特殊字符并进行提示

                 在开发java web页面时需要校验用户的输入内容是否合法,在进行校验时我们可以单独把校验特殊字符这块抽取出来,只需要在每个页面引用下该js即可实现校验不需要再页面设置其他东西,js会自动捕捉页面文本框和文本域,同时也方便了以后代码的复用。

代码如下:

var tagname='';
  var attrid='';
  var tagvalue='';
  document.oninput = function(e){
    var o = e.srcElement || e.target;
	getValue(o);
		if(tagname !='' && tagname=='INPUT'){
			if(tagvalue != '' && !/^[^\<>]*$/.test(tagvalue)){
			  //包含<>返回false
			  //alert("输入内容不能包含特殊字符,如尖括号(<>)");
			  var str = tagvalue.replace('<', '').replace('>', '');
			  $(o).val(str);//把过滤特殊字符后的内容赋值给文本框
			  tagvalue='';//当输入第一个字符为特殊字符,回退键删除后会有缓存
			  popArtDialog("您输入的内容中包含了特殊字符如尖括号<>,系统已自动过滤!");
			  return false;
			}
			return true;
		}
		if(tagname !='' && tagname=='TEXTAREA'){
			if(tagvalue != '' && !/^[^\<>]*$/.test(tagvalue)){
			  //包含<>返回false
			  //alert("输入内容不能包含特殊字符");
			  var str = tagvalue.replace('<', '').replace('>', '');
			  $(o).val(str);//把过滤特殊字符后的内容赋值给文本框
			  tagvalue='';
			  popArtDialog("您输入的内容中包含了特殊字符如尖括号<>,系统已自动过滤!");
			  return false;
			}
			return true;
		}
  }
  function popArtDialog(str){
	  art.dialog({
		  content: str,
		    icon: 'warning',
		    lock:true,
		    ok: function(){
		    }
			});
  }
  function getValue(o){
    if(o.tagName!=''){
	  tagname=o.tagName;
	}
	if($(o).attr('id')){
	 attrid=$(o).attr('id');
	}
	if($(o).val()){
	  tagvalue=$(o).val();
	}
  }

在代码中的弹出提示用的artdialog,artdialog使得提示信息更加的漂亮不在单调,使用artdialog需要引入外部的artdialog组件,这里就不在详细讲述了,简单起见你也可以用alert进行提示。

你可能感兴趣的:(javaScript)