正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
数字 | ^[0-9]*$ |
n位的数字 | ^\d{n}$ |
至少n位的数字 | ^\d{n,}$ |
m-n位的数字 | ^\d{m,n}$ |
零和非零开头的数字 | ^(0|[1-9][0-9]*)$ |
非零开头的最多带两位小数的数字 | ^([1-9][0-9]*)+(\.[0-9]{1,2})?$ |
带1-2位小数的正数或负数 | ^(\-)?\d+(\.\d{1,2})$ |
正数、负数、和小数 | ^(\-|\+)?\d+(\.\d+)?$ |
有两位小数的正实数 | ^[0-9]+(\.[0-9]{2})?$ |
非负整数 | ^\d+$ 或 ^[1-9]\d*|0$ |
非正整数 | ^-[1-9]\d*|0$ |
浮点数 | ^(-?\d+)(\.\d+)?$ |
正浮点数 | ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ |
负浮点数 | ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ |
汉字 | ^[\u4e00-\u9fa5]{0,}$ |
大写英文 | ^[A-Z]+$ |
小写英文 | ^[a-z]+$ |
英文和数字 | ^[A-Za-z0-9]+$ |
英文、数字和下划线 | ^\w+$ |
中文、英文、数字 | ^[\u4E00-\u9FA5A-Za-z0-9]+$ |
中文、英文、数字和下划线 | ^[\u4E00-\u9FA5A-Za-z0-9_]+$ |
双字节字符(包括汉字在内) | [^\x00-\xff] |
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$ | |
身份证号码 | ^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ |
手机号码 | ^1(3|4|5|6|7|8|9)\d{9}$ |
固定电话(XXX-XXXXXXX XXXX-XXXXXXXX) | (\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} |
域名 | ^((http:\/\/)|(https:\/\/))?([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}(\/) |
IPv4 | ((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)) |
html标签 | <(\S*?)[^>]*>.*?|<.*? /> |
日期 | ^\d{4}-\d{1,2}-\d{1,2} |
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) | ^[a-zA-Z]\w{5,17}$ |
密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间) | ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$ |
密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间) | ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ |
正则表达式是一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。本文整理了JS较全且实用正则表达式。
手机端常常会遇到用户输入框,输入emoji,如果是数据库是UTF8,会遇到报错,原因是:UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
来记忆一些常用特殊字符,这个是正则本身的范畴了,是不是总觉得记不住?其实我也记不住,每次都是去搜索和online验证来完成一些任务。我也困恼过,其实最后还是因为自己写的少吧,唯手熟尔。。。
本文给出了两个密码强度的正则表达式方案,一个简单,一个更复杂和安全。并分别给出了两个方案的解析和测试程序。一般大家可以根据自己的项目的实际需要,自行定义自己的密码正则约定。
JS中判断一个字符串是否包含汉字,下面就介绍2中常用的实现方法:用正则表达式判断、用 Unicode 字符范围判断。
正则表达式对象用来规范一个规范的表达式,本文讲的是JS正则表达式大全(整理详细且实用),包括校验数字、字符、一些特殊的需求等等
本文主要讲解javascript 的正则表达式中的分组匹配与前瞻匹配的,需要对正则的有基本认识。分组匹配:捕获性分组匹配、非捕获性分组匹配。前瞻匹配:正向前瞻匹配: (?=表达式) 后面一定要匹配有什么、反向前瞻匹配: (?!表达式) 后面一定不能要有什么
后台将富文本编辑器中的内容返回到前端时如果带上了标签,这时就可以利用这种方法只保留文字。利用正则表达式去除所有html标签,只保留文字
先后行断言(Lookaround Assertion)是正则表达式中的一个构造,明确了当前位置的前后字符序列,但没有其他副作用。当前 JavaScript 唯一支持的 Lookaround Assertion 是 先行断言,其匹配当前位置接下来的字符序列
正则有一个属性叫lastIndex,它表示正则下一次匹配时的起始位置。一般情况下我们是使用不到它的,但在正则中包含全局标志g时,正则的test和exec方法就会使用到它
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!