经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JSJS库框架 » JavaScript » 查看文章
值得收藏的八个常用的js正则表达式
来源:jb51  时间:2018/10/20 15:39:05  对本文有异议

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

附图:  

一.手机号码

  1. $(document).ready(function(){
  2. //判断输入手机号码是否正确
  3. $("#telephone").focus(function(){
  4. document.getElementById("ph-hint").innerHTML = ":open_mouth:请输入11位手机号码";
  5.  
  6. })
  7. $("#telephone").blur(function(){
  8. if(/^((13[0-9])|(15[^4,\D])|(18[0-9]))\d{8}$/.test(this.value)){
  9. document.getElementById("ph-hint").innerHTML = "";
  10. }else if(document.getElementById("telephone").value == ""){
  11. document.getElementById("ph-hint").innerHTML = " 咦,手机号不能为空哦";
  12. }else{
  13. document.getElementById("ph-hint").innerHTML = " 这好像不是一个手机号码哦";
  14. document.getElementById("telephone").value = "";
  15. }
  16. })
  17. })

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

二.密码

  1. $(document).ready(function(){
  2. //判断输入密码格式是否正确
  3. $("#setpassword").focus(function(){
  4. document.getElementById("pw-hint").innerHTML = ":open_mouth:请您输入密码,6-15个字母数字和符号两种以上组合";
  5.  
  6. })
  7. $("#setpassword").blur(function(){
  8. if(/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?![,\.#%'\+\*\-:;^_`]+$)[,\.#%'\+\*\-:;^_`0-9A-Za-z]{6,15}$/.test(this.value)){
  9. document.getElementById("pw-hint").innerHTML = "";
  10. }else if(document.getElementById("setpassword").value == ""){
  11. document.getElementById("pw-hint").innerHTML = " 咦,密码不能为空哦";
  12. }else{
  13. document.getElementById("pw-hint").innerHTML = " 你的密码格式有误,请重新输入";
  14. document.getElementById("setpassword").value = "";
  15. }
  16. })
  17. })

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

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

三.用户名

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

四.电子邮箱

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

五.身份证号

  1. //身份证号(18位)正则
  2. 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]$/;

六.日期

  1. //日期正则,简单判定,未做月份及日期的判定
  2. var time = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
  3. //日期正则,复杂判定
  4. 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号以及微信号

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

八.座机号

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

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

  1. <input class="login-code-send" id="login-code-send" type="button" name="sendcode" value="发送验证码" onclick="settime(this);"/>
  2. //登录,忘记密码的验证码
  3. var counts = 60;
  4. function settime(val) {
  5. if (counts == 0) {
  6. val.removeAttribute("disabled");
  7. val.value = "获取验证码";
  8. counts = 60;
  9. return false;
  10. } else {
  11. val.setAttribute("disabled", true);
  12. val.value = "重新发送("+counts+")";
  13. counts--;
  14. }
  15. setTimeout(function () {
  16. settime(val);
  17. }, 1000);
  18. }

总结

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号