js特殊字符过滤的示例代码

  

复制代码 代码如下:

  //匹配中文 数字 字母 下划线

  var checkInput = function (str) {

  var pattern =var pattern = /^[\w\u4e00-\u9fa5]+$/gi;

  if(pattern.test(c))

  {

  return false;

  }

  return true;

  }

  1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号

  

复制代码 代码如下:

  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;

  }

  2.校验所有输入域是否含有特殊符号

  

复制代码 代码如下:

  /**

  * 校验所有输入域是否含有特殊符号

  * 所要过滤的符号写入正则表达式中,注意,一些符号要用'\'转义.

  * 试例:

  * if(checkAllTextValid(document.forms[0]))

  * alert("表单中所有文本框通过校验!");

  */

  function checkAllTextValid(form) {

  //记录不含引号的文本框数量

  var resultTag = 0;

  //记录所有text文本框数量

  var flag = 0;

  for (var i = 0; i < form.elements.length; i++) {

  if (form.elements[i].type == "text") {

  flag = flag + 1;

  //此处填写所要过滤的特殊符号

  //注意:修改####处的字符,其它部分不许修改.

  //if(/^[^####]*$/.test(form.elements[i].value))

  if (/^[^\|"'<>]*$/.test(form.elements[i].value))

  resultTag = resultTag + 1;

  else

  form.elements[i].select();

  }

  }

  /**

  * 如果含引号的文本框等于全部文本框的值,则校验通过

  */

  if (resultTag == flag)

  return true;

  else {

  alert("文本框中不能含有\n\n 1 单引号: ' \n 2 双引号: \" \n 3 竖 杠: | \n 4 尖角号: < > \n\n请检查输入!");

  return false;

  }

  }