js特殊字符过滤的示例代码--转自上学吧lhwanglei

来源:互联网 发布:镜子软件手机版 编辑:程序博客网 时间:2024/06/02 07:31

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

    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;

    }

    }

0 0