常用正则表达式

学习永无止尽,今天来搞搞正则表达式。首先大致看了一下所有的匹配规则,看完之后有了一个大概的了解。但是似乎并没有什么卵用,稍稍复杂一点的一样不会写。而且如果不是经常用这玩意儿谁记得住呢。如果大家有什么好的建议,欢迎各位大神指教。
毕竟是学习,总还是要练习一下吧,于是还是搞了个小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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值