最近在学习JavaScript正则表达式,在这里跟大家分享一下个人写的一些正则表达式(每个人的写法不一样,仅供参考,如有不足请大家多指教)

验证输入零和非零开头的数字  /^(0?|([1-9]\d+))(\.\d{1,2})?$/

验证输入由26个英文字母组成的字符串 /^[a-z]*[A-Z]*$/

验证验证身份证号(15位或18位数字)  /^(\d{15,18})$|^(\d{17}x)$/i

验证月份,格式01-31

//月份1 3 5 7 8 10 12 天数范围为01-31 
//表达式  ((0?[13578]|1[02]))\-((0?[1-9])|((1|2)[0-9])|30|31)
//月份4 6 9 11 天数范围 01-30
//表达式应为 (0?[469]|[11])\-((0?[1-9])|((1|2)[0-9])|30)
//月份2 平年28

//表达式   02-(0?[1-9]|[1][0-9]|[2][0-8])

目前只做了验证平年的,有待提高

表达式为  /^((((0?[13578]|1[02]))\-((0?[1-9])|((1|2)[0-9])|30|31))|((0?[469]|[11])\-((0?[1-9])|((1|2)[0-9])|30))|(02-(0?[1-9]|[1][0-9]|[2][0-8])))$/

验证手机号码验证前两位(注:现在有13、14、15、17、18开头的)   /^(1[34578])(\d{9})$/

验证邮箱(简单版本)  /^([1-9][0-9]{6,10})(@)([a-z]{2,10})(.)((com)|(cn))$/

验证匹配url   /^(http|https|ftp):\/\/([w]{3})(.)([a-z]+)(.)(com|cn|net)$/

验证匹配整数,例如:12,-12,+12    /^([1-9]\d*)|(-[1-9]\d*)|(\+[1-9]\d*)$/

验证判断输入是否是qq号码  (PS:qq总长度是6位以上,首位不能为0)  /^([1-9][0-9]{6,10})$/

小练习三道校招题:

1.给定这样一个连字符串,vars1 = "dgfhfgh254bhku289fgdhdy675gfh";

写一个function提取上述字符串中的字符最终输出:[254,289,675](2016美团校招)

2. 给定这样一个连字符串,vars2 = "get-element-by-id";
写一个function转换为驼峰命名法形式的字符串输出:getElementById(2017 美团校招)

toUpperCase()转成大写

3.写一段简单的正则表达式,匹配并取出字符串”https://www.baidu.com/s?cl=3”中的域名部分(https://www.baidu.com)(17百度校招)

答案:

1.

<body><h4>判断给定字符串</h4><p>var s1 = "dgfhfgh254bhku289fgdhdy675gfh";</p><p>写一个function提取上述字符串中的字符最终输出:[254,289,675]</p><p id="txt"></p><script>var oP = document.getElementById("txt");var s1 = "dgfhfgh254bhku289fgdhdy675gfh";fn(s1);function fn(msg){var pattern = /\d+/g ;var str = '';var arr = [];//输出:[254,289,675]str = msg.match(pattern);arr.push(str);oP.innerHTML = arr;}</script>
</body>

2.

<body><p>给定这样一个连字符串,var s2 = "get-element-by-id";</p><p>写一个function转换为驼峰命名法形式的字符串输出:getElementById</p><p>toUpperCase()转成大写</p><h4 id="txt"></h4><script>var oTxt = document.getElementById("txt");var s2 = "get-element-by-id";fn(s2)function fn(msg) {var str = msg.split('-');var len = str.length;// console.log(len)for (var i = 0 ; i<len ; i++){str[i] = str[i].charAt(0).toUpperCase()+str[i].substr(1,str[i].length-1);}var str1 = str.join('')//console.log(str1)oTxt.innerHTML = str1;}</script>
</body>

3.

<body><p>写一段简单的正则表达式</p><p>匹配并取出字符串”https://www.baidu.com/s?cl=3”中的域名部分(https://www.baidu.com)</p><h4 id="txt"></h4><script>var oTxt = document.getElementById("txt");var str="https://www.baidu.com/s?cl=3";var pattern=/https:\/\/([A-Za-z\.]+)\/\S+/;var result=pattern.exec(str);if(result){oTxt.innerHTML = result[1];}</script>
</body>

还在学,持续更新中.......

JavaScript一些常用的正则表达式相关推荐

  1. JavaScript(JS)常用的正则表达式

    只能输入数字:"^[0-9]*$" 只能输入 n 位的数字:"^\d{n}$" 只能输入至少 n 位的数字:"^\d{n,}$" 只能输入 ...

  2. javascript 一些常用的正则表达式(手机号码,邮箱,整数,身份证号码,车牌号,中文,只能是字母或者数字)

    1.手机号码格式验证 function mobile(value) {return /^1[23456789]\d{9}$/.test(value) } 2.验证电子邮箱格式 function ema ...

  3. php的正则表达式函数,php中常用的正则表达式函数

    php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...

  4. JavaScript面试篇之正则表达式:“get-element-by-id”如何转化成驼峰,常用邮箱、身份证、QQ号等信息如何校验等等

    JavaScript面试篇之正则表达式:"get-element-by-id"如何转化成驼峰,常用邮箱.身份证.QQ号等信息如何校验等等 前言 一.简介 二.匹配规则 1.修饰符 ...

  5. JavaScript一些常用 API整理汇总

    JavaScript一些常用 API整理汇总 Array new Set() 数组去重 const arr = [3,4,4,5,4,6,5,7]; console.log(new Set(arr)) ...

  6. 几个常用的正则表达式

    几个常用的正则表达式(下面是在javascript里面的使用方式): 1. 正则表达式的中文表示 var reg_zh=/^[\u4E00-\u9FA5\uF900-\uFA2D]*$/; 2. 正则 ...

  7. php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: ...

  8. 常用的正则表达式-收藏版

    最近做了两个公司网站 发现在判断用户输入写业务逻辑的判断代码 的量很大 ,而且判断的义务逻辑很负杂,页面导入的文件太多,导致整体的UI层结构显的混乱,在网上发现有人整理的正则表达市 ,虽然品种很多,但 ...

  9. JS常用的正则表达式汇总

    目录 常用的正则表达式汇总 1.常用正则 1.1 校验数字的表达式 1.2 校验字符的表达式 1.3 特殊需求表达式 2.JS调用正则表达式示例 3.match和test区别 3.1 test 3.2 ...

最新文章

  1. ORA-01102: cannot mount database in EXCLUSIVE mode
  2. win7下反汇编程序程序基址改变问题
  3. 移植mysql到嵌入式ARM平台
  4. oracle错误27101,ORA-27101ORA-01034错误解决
  5. 打开多个界面_如何创建用户界面
  6. 蚂蚁金服亿级并发下的移动端到端网络接入架构解析
  7. c语言实现1024点fft程序,C语言1024点快速傅里叶变换(FFT)程序,最好经过优化,执行速度快...
  8. Python出现AttributeError: module ‘tkinter‘ has no attribute ‘messagebox‘,已解决
  9. wireshark未响应
  10. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_6_函数式接口作为方法的返回值类...
  11. STM32F103标准库函数驱动max30102心率血氧模块
  12. 我们为何要选择使用LINUX?--大家自己体会
  13. Node.js实战(Node.js in Action)书中的代码实现
  14. 使用证件照研究院接口实现制作证件照
  15. 微信 服务器架构,微信技术总监周颢:一亿用户背后架构秘密
  16. java 高德计算距离,距离、长度、面积
  17. 响应时代号召 中烜速充走进新能源充电桩新时代
  18. 计算机毕业设计Python+uniapp养花助手小程序(小程序+源码+LW)
  19. RoboMaster视觉教程(8)串口通讯
  20. 什么是反射?为什么使用反射?

热门文章

  1. 编程实现恐龙识别系统编程表示
  2. Word 2003 该工程中的宏被禁止,请查阅联机文档解决的解决办法
  3. Nvidia 2080 Ti很烫,是什么原因?
  4. php防止文件盗链,PHP如何禁止图片文件的被盗链
  5. Android平板为何难用,为什么安卓平板电脑一直半死不活?看完你就懂了
  6. 工行聚合支付对接流程及测试
  7. 用ai(Adobe illustrator)临摹的一张作品
  8. JavaSocket服务端处理多个硬件客户端并监测硬件客户端是否在线
  9. 小米有品众筹新品上架 智能家用除湿机众筹价799元
  10. 南京远古高清视频直播解决方案