js常用正则表达式

2018-11-23  本文已影响0人  嘴角45度

对常用的js正则表达式进行整理,归档!!!

什么是正则表达式?它有什么作用?

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

常用的js正则表达式

1. 只能输入数字: /^[0-9]*$/

2. 只能输入n位数字 :  /^\d{n}$/

3. 至少输入n位数字  :  /^\d{n,}$/

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

5. 只能输入有1~3位小数的正实数 :  /^[0-9]+(.[0-9]{1,3})?$/

6. 只能输入由26个英文字母组成的字符串 :  /^[A-Za-z]+$/

7. 只能输入由26个大写英文字母组成的字符串 :  /^[A-Z]+$/

8. 只能输入由26个小写英文字母组成的字符串 :  /^[a-z]+$/

9. 只能输入由数字和26个英文字母组成的字符串 :  /^\w+$/

10. 验证用户密码 :  /^[a-zA-Z]\w{5,17}$/

11. 只能输入汉字 :  /^[\u4e00-\u9fa5]{0,}$/

12. 验证Email地址:  /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/

13. 验证InternetURL:

/^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$/

14. 验证电话号码  :  /^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$/

15. 验证身份证号(15位或18位数字  :  /^\d{15}|\d{18}$/

16. 验证一年的12个月 :  /^(0?[1-9]|1[0-2])$/

17. 验证一个月的31天 :  /^((0?[1-9])|((1|2)[0-9])|30|31)$/

18. 匹配双字节字符(包括汉字在内) :  /[^\x00-\xff]/

19. 匹配空行  :  /\n[\s| ]*\r/

20. 匹配html标签:  /<(.*)>(.*)<\/(.*)>|<(.*)\/>/

21. 匹配首尾空格:  /(^\s*)|(\s*$)/

22. QQ:  /[1-9][0-9]{4,}/

23. 中国邮政编码:  /[1-9]\d{5}(?!\d)/

24. ip地址:  /\d+\.\d+\.\d+\.\d+/

25. 正则匹配a标签: /<a\b[^>]+\bhref="([^"]*)"[^>]*>([\s\S]*?)<\/a>/

26. 匹配除strong标签以外的其它标签: (<[^strong][^>]*[^\/strong]>)

27. 匹配img标签: /<img.*?(?:>|\/>)/gi

28. 判断是否以html标签开头的: /^<([a-zA-Z1-6]+)(\s*[^>]*)?>/.test(content)

正则表达式结合js对输入的限制

1. javascript trim实现:

String.prototype.trim = function(){

  return this.replace(/(^\s*)|(\s*$)/g, "");

}

2. 计算字符串的长度(一个双字节字符长度计2,ASCII字符计1:

String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}

3. 用正则表达式限制只能输入中文:

onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"

4. 用正则表达式限制只能输入全角字符:

onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"

5. 用正则表达式限制只能输入数字:

onkeyup="value=value.replace(/[^\d]/g,'')

6. 用正则表达式限制只能输入数字和英文:

onkeyup="value=value.replace(/[\W]/g,'')

7. 去掉除img标签外的其它标签:

var after = str.replace(/<(?!img)[^>]*>/g,"");

8. 判断是否以html标签开头的:

/^<([a-zA-Z1-6]+)(\s*[^>]*)?>/.test(str);

参考链接

1. 正则表达式基本语法: (http://www.runoob.com/regexp/regexp-syntax.html)

2. 入门教程: (https://deerchao.net/tutorials/regex/regex.htm)

上一篇 下一篇

猜你喜欢

热点阅读