用于过滤空白字符的几种常见的js正则表达式pattern

代码如下:

var trimInfo =
{ basic: / /
// vb中的简单空白字符过滤
, classic: /\s/
// 传统的js空白字符过滤
, ecmascript5: /[\s\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
// ECMAScript 5中对/s的补充定义
, ex: /[\s\xA0\u2028\u2029]/
// 印象中是和js中的标识符或者字符串有关,忘了从哪来的了XD
, control: /[\x00-\x1F\x7F-\x9F]/
// 补充了控制字符的简单过滤
, dotNet: /[\s\xA0\u2000-\u200B\u3000\uFEFF]/
// .NET平台的默认实现
, unicode: /[\s\x85\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
// 过滤Unicode标准中定义的空白字符
, complex: /[\x00-\x20\x7F-\xA0\u1680\u180E\u2000-\u200B\u2028\u2029\u202F\u205F\u3000\uFEFF]/
// 复合的过滤,是以上几种的并集
};

注意:列出的代码只是为了方便程序处理而采用了正则表达式的语法,但实际上并不是可以直接用于过滤的正则表达式。

根据实际的使用情况,可能需要增加“g”等标志,或者进一步加工成更复杂的正则表达式。

(0)

相关推荐

  • php完全过滤HTML,JS,CSS等标签

    记得以前写过一篇文章 php有效的过滤html标签,js代码,css样式标签: 复制代码 代码如下: <?php $str = preg_replace( "@<script(.*?)</script>@is", "", $str ); $str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str ); $str = preg_r

  • 过滤所有HTML代码和CSS,JS

    复制代码 代码如下: Function RemoveHTML(strHTML)    '过滤HTML代码的函数包括过滤CSS和JS StrHtml = Replace(StrHtml,vbCrLf,"") StrHtml = Replace(StrHtml,Chr(13)&Chr(10),"") StrHtml = Replace(StrHtml,Chr(13),"") StrHtml = Replace(StrHtml,Chr(10),

  • 防止xss和sql注入:JS特殊字符过滤正则

    复制代码 代码如下: function stripscript(s) { var pattern = new RegExp("[%--`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥--&*()--|{}[]'::""'.,.?]")        //格式 RegExp("[在中间定义特殊过滤字符]")var rs = ""; for (var i = 0; i <

  • 利用javascript/jquery对上传文件格式过滤的方法

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style><!-- .errorInfo{ color:red; padding-left:5px; } --></style><s

  • JS对大量数据进行多重过滤的方法

    前言 主要的需求是前端通过 Ajax 从后端取得了大量的数据,需要根据一些条件过滤,首先过滤的方法是这样的: class Filter { filterA(s) { let data = this.filterData || this.data; this.filterData = data.filter(m => m.a === s); } filterB(s) { let data = this.filterData || this.data; this.filterData = data.

  • AngularJS的内置过滤器详解

    今天我们来了解一下AngularJS的内置过滤器 先来看看这些内置过滤器使用方法: 一个过滤器,不带参数的情况 {{expression | filter}} 一个过滤器,带参数的情况 {{expression | filter:arguments}} 一个过滤器,带多个参数的情况 {{expression | filter: arg1: arg2: ...}} 多个过滤器,不带参数的情况 {{expression | filter1 | filter2 | ...}} 下面我们分别使用以下An

  • 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(

  • js过滤HTML标签以及空格的思路及代码

    复制代码 代码如下: function setContent(str) {str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tagstr.value = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白//str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行return str;} 测试的时候发现这段代码不能过滤掉网页中空格字符(即: ).于是自己又改造了一下: 复制代

  • 详解AngularJS中的filter过滤器用法

    系统的学习了一下angularjs,发现angularjs的有些思想根php的模块smarty很像,例如数据绑定,filter.如果对smarty比较熟悉的话,学习angularjs会比较容易一点.这篇简单说一下angularjs的filter功能,angularjs的filter功能可分为二种,一种是内置的过滤器,一种是自定义的. 一,内置的过滤器 1,uppercase,lowercase大小转换 {{ "lower cap string" | uppercase }} //结果:

  • 用于过滤空白字符的几种常见的js正则表达式pattern

    复制代码 代码如下: var trimInfo = { basic: / / // vb中的简单空白字符过滤 , classic: /\s/ // 传统的js空白字符过滤 , ecmascript5: /[\s\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/ // ECMAScript 5中对/s的补充定义 , ex: /[\s\xA0\u2028\u2029]/ // 印象中是和js中的标识符或者字符串有关,忘了从哪来的

  • 几种常见攻击的正则表达式

    "( \\s|\\S)*(exec(\\s|\\+)+(s|x)p\\w+)(\\s|\\S)*" //Exec Commond "( \\s|\\S)*((%3C)|<)((%2F)|/)*[a-z0-9%]+((%3E)|>)(\\s|\\S)*" //Simple XSS "( \\s|\\S)*((%65)|e)(\\s)*((%76)|v)(\\s)*((%61)|a)(\\s)*((%6C)|l)(\\s|\\S)*" /

  • Python单体模式的几种常见实现方法详解

    本文实例讲述了Python单体模式的几种常见实现方法.分享给大家供大家参考,具体如下: 这里python实现的单体模式,参考了:https://stackoverflow.com/questions/1363839/python-singleton-object-instantiation/1363852#1363852 一.修改父类的 __dict__ class Borg: _shared_state = {} def __init__(self): self.__dict__ = self

  • 浅谈Java中几种常见的比较器的实现方法

    在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用"=="来完成. 第二个方面:以对象的某一个属性的角度去比较. 从最新的JDK8而言,有三种实现对象比较的方法: 一.覆写Object类的equals()方法: 二.继承Comparable接口,并实现compareTo()方法: 三.定义一个单独的对象比较器,继承自Comparator接口

  • Linux下命令行cURL的10种常见用法示例

    前言 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 语法: # curl [option] [url] 本文主要跟大家分享了Linux命令行cURL的10种常见用法,分享出来供大家参考学习,下面来一起看看详细的介绍: 1. 获取页面内容 当我们不加任何选项使用 curl 时,默认会发送 GET 请求来获取链接内容到标准输出. curl http://www

  • PHP数组遍历的几种常见方式总结

    本文实例讲述了PHP数组遍历的几种常见方式.分享给大家供大家参考,具体如下: 1.使用for循环遍历数组 conut($arr);用于统计数组元素的个数. for循环只能用于遍历,纯索引数组!!!! 如果存在关联数组,count统计时会统计两种数组的总个数,使用for循环遍历混合数组,导致数组越界!! eg: $arr = array(1,2,3,5,6,7); $num = count($arr); //count最好放到for外面,可以让函数只执行一次 echo "数组元素的个数{$num}

  • Python几种常见算法汇总

    1.选择排序 选择排序是一种简单直观的排序算法.它的原理是这样:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的后面,以此类推,直到所有元素均排序完毕.算法实现如下: #找到最小的元素def FindSmall(list): min=list[0] for i in range(len(list)): if list[i]<min: min=list[i] return min #选择排序def Select_

  • 分析MySQL抛出异常的几种常见解决方式

    前言 报错如下: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!   对于此类错误,直接看释义,一句话:JDBC 驱动抛出异常,连不上数据库. 一.代码配置的数据库名称或者密码与本地数据库不一致 1.1.错误产生描述 第一种,也是最为常见

  • Python 5种常见字符串去除空格操作的方法

    目录 1:strip()方法 2:lstrip()方法 3:rstrip()方法 4:replace()方法 5: join()方法+split()方法 1:strip()方法 去除字符串开头或者结尾的空格 >>> a = " a b c " >>> a.strip() 'a b c' 2:lstrip()方法 去除字符串开头的空格 >>> a = " a b c " >>> a.lstrip(

  • 盘点几种常见的java排序算法

    目录 1.插入排序 2.分治排序法,快速排序法 3.冒泡排序 low版 4.冒泡排序 bigger版 5.选择排序 6. 归并排序 8. 堆排序 9. 其他排序 10. 比较 总结 1.插入排序 这个打麻将或者打扑克的很好理解, 比如有左手有一副牌1,2,4,7 ,来一张3的牌, 是不是就是手拿着这张牌从右往左插到2,4之间 一次插入排序的操作过程: 将待插元素,依次与已排序好的子数列元素从后到前进行比较,如果当前元素值比待插元素值大,则将移位到与其相邻的后一个位置,否则直接将待插元素插入当前元

随机推荐