常用正则表达式
来源:互联网 发布:我的世界编程网站 编辑:程序博客网 时间:2024/05/01 18:35
学习永无止尽,今天来搞搞正则表达式。首先大致看了一下所有的匹配规则,看完之后有了一个大概的了解。但是似乎并没有什么卵用,稍稍复杂一点的一样不会写。而且如果不是经常用这玩意儿谁记得住呢。如果大家有什么好的建议,欢迎各位大神指教。毕竟是学习,总还是要练习一下吧,于是还是搞了个小demo练练手。下面是笔者认为经常会用到的一些匹配规则,当然只是少数几个:1、用户名(只能由字母数字下划线和汉字组成):
/^[\u2E80-\u9FFFa-z0-9_-]{3,16}$/
2、年龄(只能是数字,至于范围再单独验证):
/^\d*$/
3、手机号码:
/^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/
4、电子邮箱:
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
5、密码(只能字母数字下划线组成,且长度须大于等于6):
/^[a-z0-9_-]{6,18}$/
6、url:
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
7、ip:
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
总结一下,发现这些东西是没必要记住的。需要用到的时候,只要有网百度一下完全就可以搞定。
最后,把我练习的小demo也贴上来。
页面中使用了JQuery的弹窗插件layer,使用时需要拷如相应的文件。可以去官网下载。拷贝之后修改相应的导入路径,确保路径正确
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="jquery-1.11.1.min.js"></script> <script type="text/javascript" src="layer/layer.js"></script><script type="text/javascript"> $(document).ready(function() { $('#div1').attr('style','margin-left:auto;margin-right:auto;margin-top:100px;height:600px;width:400px;border: 1px solid #000;'); $('#username').blur(function(){//验证用户名只能数字下划线字母和汉字组成 var username = $('#username').val(); if(!/^[\u2E80-\u9FFFa-z0-9_-]{3,16}$/.test(username)){ if(username.length<3|username.length>19){ //$("#username").focus(); layer.msg('用户名必须在3个字节及以上20个字符以下'); }else{ layer.msg('用户名仅有字母数字和下划线组成'); } }else{ } }); $('#age').blur(function(){//验证年龄只能为数字,且只能0~150之间 var age = $('#age').val(); if(/^\d*$/.test(age)){ //layer.msg('number'); }else{ layer.msg('年龄只能为数字'); $('#age').val(0); } if(age<=0|age>150) { layer.msg('年龄不合法!请输入0~150之间的数字'); $('#age').val(0); } }); $('#phone').blur(function(){//验证电话好吗 var phone = $('#phone').val(); if(!/^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/.test(phone)) { layer.msg('电话号码有误,请检查!'); } }); $('#email').blur(function(){//验证邮箱格式 var email = $('#email').val(); if(!/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/.test(email)) { layer.msg('邮箱格式有误,请检查'); } }); $('#password').blur(function(){//密码验证,由字母数字或下划线组成。长度大于等于6 var password = $('#password').val(); if(!/^[a-z0-9_-]{6,18}$/.test(password)) { layer.msg('密码必须由字母数字或下划线组成且长度必须大于6'); } }); $('#url').blur(function(){ var url = $('#url').val(); if(!/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/.test(url)) { layer.msg('您输入的路径格式有问题,请检查!'); } }); });</script> </head> <body> <div id="div1"> <p style="font-size:20;text-align:center">基本信息</p> <div style="margin-left:80px"> 姓名:<input type="text" id="username"><br/><br/> 年龄:<input type="text" id="age"><br/><br/> 手机:<input type="text" id="phone"/><br/><br/> 邮箱:<input type="text" id="email"/><br/><br/> 密码:<input type="password" id="password"/><br/><br/> 主页:<input type="text" id="url"/><br/><br/> </div> </div> </body></html>
0 0
- 【正则】常用正则表达式
- 正则表达式-常用正则表达式
- 正则表达式 常用正则表达式
- 正则表达式---常用的正则
- 正则表达式---常用的正则
- 【正则】常用正则表达式收集
- 正则大全 常用正则表达式
- 正则表达式 常用的正则
- .net正则表达式(常用表达式)
- 正则表达式中常用表达式
- 常用的正则表达式
- 常用正则表达式
- 常用的正则表达式
- 常用正则表达式参考
- 常用正则表达式收藏
- 常用C#正则表达式
- 常用正则表达式
- 常用正则表达式实例
- Android 打jar包流程
- AsyncTask简单使用
- 矩阵的鞍点
- 合并排序
- oracle insert select 语句中 select数量与insert数量不一致 bug(咋个办呢 zgbn)
- 常用正则表达式
- 5.6.2 视图对性能的影响
- MySQL 主从复制
- iOS端项目注释规范附统一代码块
- HDU 2501 Tiling_easy version (递推)
- LeetCode40. Combination Sum II
- SharePoint 2016 Beta 2 使用体验
- 1076. Forwards on Weibo (30)
- db2中释放PndFreePgs