值得收藏的八个常用的js正则表达式


Posted in Javascript onOctober 19, 2018

 开发中如果有input输入框,难免就要写正则表达式,因此在这里总结了一些常见常用的正则表达式的书写方法,希望会大家有所帮助;

附图:  

值得收藏的八个常用的js正则表达式

一.手机号码

$(document).ready(function(){
  //判断输入手机号码是否正确
  $("#telephone").focus(function(){
     document.getElementById("ph-hint").innerHTML = ":open_mouth:请输入11位手机号码";

  })
  $("#telephone").blur(function(){
     if(/^((13[0-9])|(15[^4,\D])|(18[0-9]))\d{8}$/.test(this.value)){
        document.getElementById("ph-hint").innerHTML = "";
     }else if(document.getElementById("telephone").value == ""){
         document.getElementById("ph-hint").innerHTML = " 咦,手机号不能为空哦";
     }else{
        document.getElementById("ph-hint").innerHTML = " 这好像不是一个手机号码哦";
        document.getElementById("telephone").value = "";
     }
  })
})

详解:当获取焦点时,提示文字请输入手机号,然后失去焦点时判断,那段正则表达式表示的是13几,这个几0-9都可以,或者15几,但是非4的都行,或者18几,0-9都可以,然后再加8位数字,符合条件则成功,否则根据情况判断提示文字;

二.密码

$(document).ready(function(){
  //判断输入密码格式是否正确
  $("#setpassword").focus(function(){
     document.getElementById("pw-hint").innerHTML = ":open_mouth:请您输入密码,6-15个字母数字和符号两种以上组合";

  })
  $("#setpassword").blur(function(){
     if(/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![,\.#%'\+\*\-:;^_`]+$)[,\.#%'\+\*\-:;^_`0-9A-Za-z]{6,15}$/.test(this.value)){
        document.getElementById("pw-hint").innerHTML = "";
     }else if(document.getElementById("setpassword").value == ""){
         document.getElementById("pw-hint").innerHTML = " 咦,密码不能为空哦";
     }else{
        document.getElementById("pw-hint").innerHTML = " 你的密码格式有误,请重新输入";
        document.getElementById("setpassword").value = "";
     }
  })
})

详解:当获取焦点时,提示文字请输入密码,然后失去焦点时判断,那段正则表达式表示的是可以输入0-9的数字和大小写的字母a-z,外加一些特殊符号,然后可以输入6-15位密码,符合条件则成功,否则根据情况判断提示文字;

*以下格式我就不这样写了,简介一点,上面两段可以去参考。

三.用户名

//用户名正则,4到16位(字母,数字,下划线,减号)
var username = /^[a-zA-Z0-9_-]{4,16}$/;
//文字
var username=/[\d]/g;

四.电子邮箱

//对电子邮件的验证
 var email = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

五.身份证号

//身份证号(18位)正则
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;

六.日期

//日期正则,简单判定,未做月份及日期的判定
var time = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
//日期正则,复杂判定
var time = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;

七.QQ号以及微信号

//QQ号正则,5至11位
var qq = /^[1-9][0-9]{4,10}$/;
//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wx = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

八.座机号

//座机号
var tel =/(^0\d{2}-8\d{7}$)|(^0\d{3}-3\d{6}$)/;

附加: 发送验证码倒计时写法

<input class="login-code-send" id="login-code-send" type="button" name="sendcode" value="发送验证码" onclick="settime(this);"/>
//登录,忘记密码的验证码
var counts = 60;
function settime(val) {
  if (counts == 0) {
    val.removeAttribute("disabled");
    val.value = "获取验证码";
    counts = 60;
    return false;
  } else {
    val.setAttribute("disabled", true);
    val.value = "重新发送("+counts+")";
    counts--;
  }
  setTimeout(function () {
    settime(val);
  }, 1000);
}

总结

以上所述是小编给大家介绍的值得收藏的八个常用的js正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
Dec 25 Javascript
js切换光标示例代码
Oct 10 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
javascript使用正则获取url上的某个参数
Sep 04 Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
JS实现复制功能
Mar 01 Javascript
Vue2.0 ES6语法降级ES5的操作
Oct 30 Javascript
深入理解移动前端开发之viewport
Oct 19 #Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
Oct 19 #Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 #Javascript
vue中v-for循环给标签属性赋值的方法
Oct 18 #Javascript
webstorm+vue初始化项目的方法
Oct 18 #Javascript
使用微信小程序开发弹出框应用实例详解
Oct 18 #Javascript
vue: WebStorm设置快速编译运行的方法
Oct 18 #Javascript
You might like
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP会话控制实例分析
2016/12/24 PHP
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
JavaScript实现左侧菜单效果
2017/12/14 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
更改Python命令行交互提示符的方法
2015/01/14 Python
python实现从字典中删除元素的方法
2015/05/04 Python
python基于右递归解决八皇后问题的方法
2015/05/25 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
《沉香救母》教学反思
2014/04/19 职场文书
小学班主任评语大全
2014/04/23 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技