当前位置 主页 > 网站技术 > 代码类 > 最大化 缩小

    正则表达式匹配各种特殊字符

    栏目:代码类 时间:2019-10-09 18:02

    写个可以匹配一下各种特殊字符的正则表达式

    ((?=[\x21-\x7e]+)[^A-Za-z0-9])
    x21-\x7e]+)[^A-Za-z0-9])

    这个匹配所有键盘上可见的非字母和数字的符号

     var patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im; 
       if (!patrn.test(str)) {// 如果包含特殊字符返回false
         return false;
       }
       return true;

    这个是输入框防止特殊字符勿输入验证,包括键盘上所有特殊字符的英文和中文状态。需要者可以根据自身需求而定!谢谢!

    [^\w\s]+

    匹配非空 非字母 非数字 即可

    1 数字:^[0-9]*$

    2 n位的数字:^\d{n}$

    3 至少n位的数字:^\d{n,}$

    4 m-n位的数字:^\d{m,n}$

    5 零和非零开头的数字:^(0|[1-9][0-9]*)$

    6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$

    7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$

    8 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$

    9 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

    10 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

    11 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$

    12 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$

    13 非负整数:^\d+$ 或 ^[1-9]\d*|0$

    14 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$

    15 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

    16 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

    17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

    18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

    19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

    二、校验字符的表达式

    1 汉字:^[\u4e00-\u9fa5]{0,}$

    2 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

    3 长度为3-20的所有字符:^.{3,20}$

    4 由26个英文字母组成的字符串:^[A-Za-z]+$

    5 由26个大写英文字母组成的字符串:^[A-Z]+$

    6 由26个小写英文字母组成的字符串:^[a-z]+$

    7 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

    8 由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$

    9 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$

    10 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

    11 可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+

    12 禁止输入含有~的字符:[^~\x22]+

    三、特殊需求表达式

    1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

    a、自定义完美的邮箱验证:(java)

    ^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$

    b、(js或jq)