常用正则表达式

来源:互联网 发布:我的世界编程网站 编辑:程序博客网 时间: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