最近在学习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. 深度剖析不一样的Redis架构设计!
  2. Intel Realsense D435 将深度图的灰度图映射为彩色图,打印输出灰度图或彩色图
  3. cobaltstrike安装_CobaltStrike + Metasploit 组合安装
  4. 循环自相关函数和谱相关密度(一)——公式推导
  5. 作者:徐晔(1964-),男,博士,中国科学院云计算产业技术创新与育成中心公共安全研究院研究员、院长。...
  6. 如何使用STM32F4的BootLoader和APP程序
  7. 应聘flash游戏开发面试技巧及建议
  8. unity3d 词典访问_正确的词典访问方式
  9. java 设置文本框文字居中_div居中 边框设置 文字行高设置
  10. WordPress系列教程(一)----WordPress环境准备与安装
  11. Begging_Rust(译):丢弃,移动和复制(第二十一章)
  12. mac最值得关注的终端工具,全功能串行终端管理软件Serial
  13. USR-TCP232-E2串口转以太网模块的使用方法
  14. PPT模板,背景图片,等等(千图网大礼包)
  15. 方寸间尽显空间之美,COLMO电热水器的品质沐浴哲学
  16. 设置局域网NTP对时
  17. 关于计算机在教室的文化建设方案,大学教室文化建设方案
  18. git命令统计代码量
  19. [题解]P5550 |Chino的数列
  20. AAAI 2021论文接收列表内有关因果的文章

热门文章

  1. 原生input样式修改
  2. 计算机远程桌面修复,为你还原win10系统远程桌面出现错误0x204的修复步骤
  3. JAVA编程——设置字体
  4. 靶机渗透练习53-digitalworld.local:BRAVERY
  5. 日常安装之 rabbitMQ ---------------摸鱼王的日常
  6. 仿QQ手机管家首页菜单写的一个开源组件MultiCardMenu。
  7. setAttribute方法
  8. 转眼就来字节六个月了,真的不一样
  9. java tail -n_别小看tail 命令,它难倒了技术总监
  10. 最棒的一本管理书《卓有成效的管理者》[美] 彼得·德鲁克