[关闭]
@jeffjade 2017-07-21T08:53:47.000000Z 字数 3695 阅读 997

编码常备之正则表达式

RegExp


  1. <div id="disqus_thread"></div>
  2. <script>
  3. /**
  4. * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
  5. * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
  6. /*
  7. var disqus_config = function () {
  8. this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
  9. this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
  10. };
  11. */
  12. (function() { // DON'T EDIT BELOW THIS LINE
  13. var d = document, s = d.createElement('script');
  14. s.src = 'https://http-jeffjade-com.disqus.com/embed.js';
  15. s.setAttribute('data-timestamp', +new Date());
  16. (d.head || d.body).appendChild(s);
  17. })();
  18. </script>
  19. <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

https://http-jeffjade-com.disqus.com/admin/install/platforms/universalcode/

(Recommended) Edit the RECOMMENDED CONFIGURATION VARIABLES section using your CMS or platform's dynamic values. See our documentation to learn why defining identifier and url is important for preventing duplicate threads.

Place the following code before your site's closing tag:

  1. <script id="dsq-count-scr" src="//http-jeffjade-com.disqus.com/count.js" async></script>

xegy5PpQnAJYga_x74VJ

正则表达式30分钟入门教程
59分钟学会正则表达式
8 Regular Expressions You Should Know

一、校验数字的表达式

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

2,n位的数字:

  1. ^\d{n}$

3,至少n位的数字:

  1. ^\d{n,}$

4,m-n位的数字:

  1. ^\d{m,n}$

5,零和非零开头的数字:

  1. ^(0|[1-9][0-9]*)$

6,非零开头的最多带两位小数的数字:

  1. ^([1-9][0-9]*)+(.[0-9]{1,2})?$

7,带1-2位小数的正数或负数:

  1. ^(-)?\d+(.\d{1,2})?$

8,正数、负数、和小数:

  1. ^(-|+)?\d+(.\d+)?$

9,有两位小数的正实数:

  1. ^[0-9]+(.[0-9]{2})?$

10,有1~3位小数的正实数:

  1. ^[0-9]+(.[0-9]{1,3})?$

11,非零的正整数:

  1. ^[1-9]\d$ ^([1-9][0-9]){1,3}$ ^+?[1-9][0-9]*$

12,非零的负整数:

  1. ^-[1-9][]0-9"$ 或 ^-[1-9]\d$

13,非负整数:

  1. ^\d+$ ^[1-9]\d*|0$

14,非正整数:

  1. ^-[1-9]\d*|0$ ^((-\d+)|(0+))$

15,非负浮点数:

  1. ^\d+(.\d+)?$
  2. ^[1-9]\d.\d|0.\d[1-9]\d|0?.0+|0$

16,非正浮点数:

  1. ^((-\d+(.\d+)?)|(0+(.0+)?))$
  2. ^(-([1-9]\d.\d|0.\d[1-9]\d))|0?.0+|0$

17,正浮点数:

  1. ^[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. ^-([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,浮点数:

  1. ^(-?\d+)(.\d+)?$
  2. ^-?([1-9]\d.\d|0.\d[1-9]\d|0?.0+|0)$

二、校验字符的表达式

1, 汉字:

  1. ^[\u4e00-\u9fa5]{0,}$

2, 英文和数字:

  1. ^[A-Za-z0-9]+$ ^[A-Za-z0-9]{4,40}$

3, 长度为3-20的所有字符:

  1. ^.{3,20}$

4, 由26个英文字母组成的字符串:

  1. ^[A-Za-z]+$

5, 由26个大写英文字母组成的字符串:

  1. ^[A-Z]+$

6, 由26个小写英文字母组成的字符串:

  1. ^[a-z]+$

7, 由数字和26个英文字母组成的字符串:

  1. ^[A-Za-z0-9]+$

8, 由数字、26个英文字母或者下划线组成的字符串:

  1. ^\w+$ ^\w{3,20}$

9, 中文、英文、数字包括下划线:

  1. ^[\u4E00-\u9FA5A-Za-z0-9_]+$

10, 中文、英文、数字但不包括下划线等符号:

  1. ^[\u4E00-\u9FA5A-Za-z0-9]+$ ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

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

  1. [^%&',;=?$\x22]+

12, 禁止输入含有~的字符:

  1. [^~\x22]+

13, 不以xxx(如 jeffjade )开头(/结尾)的字符串

  1. ^(?!jeffjade).*$
  2. ^.*?(?<!jeffjade)$

三,特殊需求表达式

1, Email地址:

  1. ^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$

2, 域名地址:

  1. [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

3, 手机号码:

  1. ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

4, 身份证号(15位、18位数字):

  1. ^\d{15}|\d{18}$

5, 是否合法Url地址

  1. // 必须包含http or https
  2. https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)
  3. // 不必包含http or https
  4. [-a-zA-Z0-9@:%._\\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)

6, 是否合法帐号::

  1. // 允许3到16个字节,仅包含字母或数字
  2. ^[a-zA-Z0-9]{3,16}$
  3. // 字母开头,允许5-16字节,允许字母数字下划线
  4. ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

7, 是否合法密码

  1. // 至少八个字符,至少一个字母和一个数字:
  2. ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
  3. // 至少八个字符,至少一个字母,一个数字和一个特殊字符:
  4. ^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
  5. // 最少八个字符,至少一个大写字母,一个小写字母和一个数字
  6. "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
  7. // 至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
  8. "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"
  9. // 最少八个最多十个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
  10. "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}"

8, 空白行的正则

  1. n[\s\t]*\r
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注