JS中常用正则表达式举例一

JS正则表达式匹配手机号

大家好,有关正则表达式的基本知识在其它文章中已做了介绍:
JS属性&方法详解

下面一起来看看JS中利用正则表达式匹配字符串的常用例子:

手机号匹配

var pattern = new RegExp("^1[34578][0-9]{9}$", 'i');
规定:

(关于手机号的匹配问题,在此处只做了基础规定,实际上涉及到了中国各大运营商的分配问题,很抱歉,目前小白能力有限,不能做深入了解)

  • 手机号的第一位数字必须为1;
  • 手机号的第二位数字为 3 4 5 7 8 中的一个;
  • 手机号的后九位数字均为0-9;
程序执行效果图:

(为了让效果对比明显,特意设置了三个输入文本框,进行对比)

代码

(小细节均在代码注释中列出,如果不合适的地方,还请指导)
下面的图对代码进行了分析,欢迎有兴趣的小伙伴可以一起探讨啊

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>telephone匹配</title><style>.default {border: 3px solid #a5a3a3a1;}.success {border: 3px solid #06fd3b;}.failure {border: 3px solid #fd3e04;}</style>
</head><body><!-- 为了对比效果明显,设置了三个文本输入框 --><label for="telephone">手机号码:</label><input type="text" name="telephone" id="telephone" class="telephone default"><br/><br/><label for="telephone">手机号码:</label><input type="text" name="telephone" id="telephone" class="telephone default"><br/><br/><label for="telephone">手机号码:</label><input type="text" name="telephone" id="telephone" class="telephone default"><!-- script语句 --><script>var telephones = document.querySelectorAll(".telephone");telephones.forEach(function(telephone) {telephone.addEventListener("keyup", function(e) {// 正则表达式的定义两种方式:// var pattern = /^1[34578][0-9]{9}$/;var pattern = new RegExp("^1[34578][0-9]{9}$", 'i');// 获取input输入框所输入的值var telephone = e.target.value;// 将规定的pattern与input输入框中所输入的值进行匹配if (pattern.test(telephone)) {// 匹配成功,添加success样式,移去failure样式if (!e.target.classList.contains("success")) {e.target.classList.add("success");}if (e.target.classList.contains("failure")) {e.target.classList.remove("failure");}} else {// 匹配不成功,添加failure样式,移去success样式if (!e.target.classList.contains("failure")) {e.target.classList.add("failure");}if (e.target.classList.contains("success")) {e.target.classList.remove("success");}}});});</script>
</body></html>

代码还有优化之处,欢迎小伙伴一起探讨学习,也欢迎大佬指导教学!

JS正则表达式匹配手机号相关推荐

  1. js正则表达式匹配span标签

    1.js正则表达式匹配span标签 const spans = htmlStr.match(/<span (.*?)>(.*?)<\/span>/g) 2.js正则表达式–获取 ...

  2. js 正则表达式 验证手机号

    js 正则表达式 验证手机号 /*** 验证手机号码格式是否正确* param: value 要验证的值,String类型* return:state 状态(true正确,false错误) msg 提 ...

  3. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

  4. [js常用积累] js正则表达式验证手机号和数字验证码

    在html表单提交时,需要对表单元素进行验证,下面代码是对手机号和数字验证码的JS正则表达式验证: //手机号验证,参数为指定手机号function checkPhone(val) {if (!(/^ ...

  5. Python学习:正则表达式匹配手机号,邮箱

    匹配手机号 import re phoneRegex = re.compile(r'''((\d{3}|\(\d{3}\))? # area code(\s|-|.)? # separator(\d{ ...

  6. Js读取Cookie中指定字段的值,Js中读取某个Cookie,Js中根据Cookie的key得到对应的value,Js正则表达式匹配指定的Cookie

    Js中想要读取Cookie中指定字段的值,可以遍历Cookie根据指定Key提取Cookie,或者使用正则表达式匹配Cookie,代码如下: /*** @description: 遍历cookie得到 ...

  7. js正则匹配手机号、身份证号

    正则匹配身份证号     <input v-if="!ableInput" type="number" v-model="phone" ...

  8. js正则表达式匹配汉字

    假期老师布置了一个大作业,需要用正则表达式匹配一下 uniocde编码的汉字,但是网上千篇一律都是 /[\u4e00-\u9fa5]/ ,结果当然没有通过老师的作业检查(当然问题不仅仅只有这一点). ...

  9. 正则表达式匹配手机号、QQ号、邮箱

    import re #匹配邮箱 # def email_match(str1): # #12312313413@sdeqwe.com # res = re.findall(r"(\w{1,} ...

最新文章

  1. 算法训练 区间k大数查询
  2. linux 路径名长度限制,linux下 如何修改命令行提示符路径提示符路径长度
  3. Mysql 分区介绍(二) —— RANGE分区
  4. php写入变量cookie,PHP如何用数组变量给setcookie函数赋值?
  5. Android怎么自定义listview布局,Android ListView自定义布局
  6. Angularjs 动态添加指令并绑定事件
  7. spring python负载均衡_Spring Cloud:使用Ribbon实现负载均衡详解(上)
  8. windows系统托盘tray
  9. Ubuntu 配置vsftpd实现FTP服务器
  10. c语言easyx输出文字_做游戏,学编程(C语言) 6 数组之空战游戏
  11. 基于拥挤距离与变异支配的多目标PSO算法
  12. python输入城市找省份_利用字典模拟省市区(县)的查询
  13. 中国新能源汽车产业销售模式与十四五竞争格局展望报告2022版
  14. CAD快速测量面积与周长
  15. 字符串--------KMP算法(studying)
  16. java论文3000字_一篇文章让你真正了解Java(纯干货)
  17. java字母转换成大写_java中如何把大写字母转换成小写字母,小写字母转换成大写字母?...
  18. python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...
  19. 初中级前端面试题目汇总和答案解析
  20. 计算机基础教程4 - 组件

热门文章

  1. 教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题)...
  2. Docker容器化开发流程(一)介绍
  3. Ubuntu 18 安装截图工具 flameshot
  4. 违反和解除劳动合同的经济补偿办法
  5. Named Route ‘layout‘ has a default child route. When navigating to this named route (:to=“{name: ‘l
  6. 2022年度调味品十大热门品牌排行
  7. Matlab img格式图片转为dicom格式
  8. java读取xslx内容,内容转换成docx和pdf,包括图片
  9. 动态申请权限---通讯录 及获取通讯录列表
  10. PowerDesigner 15破解版下载