java 从零开始,学习笔记之基础入门<正则表达式>(三十一)

原创 2013年12月06日 10:21:11

正则表达式

JAVA中正则表达式:

² [a-z]表示字母a到z任意一个字符

² [A-Z]表示A到Z任意一个字符

² [0-9]表示数字0到9中任意一个数字

² //"^"表示以某个字符开头

² //"*"表示前面的字符至少出现0次,一次或者多次

² //"."表示一个元数据

² //"$"表示以什么结尾

² //"+"表示前面字符至少出现一次

² //"|"表示或者,只能选择其中一个

² //"[]"里面放入字符,我们默认只能选择其中一个

 

import java.util.regex.Matcher;

import java.util.regex.Pattern;

 

 

public class PatternExample {

    public static void main(String[] args) {

       Pattern p = Pattern.compile("^t.*java");

       Matcher m = p.matcher("think in java");

       boolean f=m.matches();

       System.out.println(f);

      

       //"^"表示以某个字符开头

       //"*"表示前面的字符至少出现0次,一次或者多次

       //"."表示一个元数据

       //"$"表示以什么结尾

       //"+"表示前面字符至少出现一次

       //"|"表示或者,只能选择其中一个

       //"[]"里面放入字符,我们默认只能选择其中一个

       boolean b=Pattern.matches("1[358][0-9]{9}", "13554277754");

       boolean b1=Pattern.matches("027-[1-9]{1}[0-9]{7}", "027-88888888");

       //"?"表示前面的字符出现0次,或者1

       boolean b2=Pattern.matches("a.*b:?0$", "asafafdb:0");

       boolean b3=Pattern.matches("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$", "lu@163.com");

 

       //出生年月2008-05-02

       boolean b4=Pattern.matches("[1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]", "2001-02-29");

       //身份证号的正则表达式

       boolean b5=Pattern.matches("[1-9]{1}+\\d{16}+([0-9]|x)", "20002522222222222x");

       //IP地址的正则表达式

       boolean b6 = Pattern.matches("((1\\d?\\d)|(2[0-2][0-3])|(0?[1-9]?  [1-9])).(([0-1]?\\d?\\d)|(2[0-5][0-5])).(([0-1]?\\d?\\d)|(2[0-5][0-5])).(([0-1]?\\d?\\d)|(2[0-5][0-5]))", "0.245.132.222");

       System.out.println(b);

       System.out.println(b1);

       System.out.println(b2);

       System.out.println(b3);

       System.out.println(b4);

       System.out.println(b5);

       System.out.println(b6);

    }

 

}

 

 

JS中正则表达式:

<%@ 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" language="javascript">

    //简单的写一个正则表达式测试QQ号是否匹配

    /*

    //简单的写一个正则表达式  测试QQ号是否匹配

    function test01(){

     //创建表达式

     var regex=/^[1-9][0-9]{4,9}$/;

     //指定一个模拟的QQ

     var qq="617220111";

    //匹配的结果未boolean 如果匹配成功返回true 否则返回false

     var bol=regex.test(qq);

     alert("结果是:"+bol);

    }

   

    function test02(){

    var regex=/.+/;

    var mm="";

    var bool=regex.test(mm);

    alert("判断结果:"+bool);

    }

   

    //账号不能为空,并且第一位要用字母开头,可以有下划线,数字,长度在1-10之间

   

    function test03(){

    var regex=/(^[a-zA-Z]\w){2,10}/;

    var kk="S2_Fsd5adaaa666asd2";

    var boool=regex.test(kk);

    alert("判断结果是:"+boool);

    }

   

    function test04(){

    var regex=/^[1-9a-zA-Z]\w+@(163|qq|sina|sohu|yahoo|google){1}[.](com|cn|com[.]cn|org|edu)$/;

    var qq="my@163.com.cn";

    var booool=regex.test(qq);

    alert("判断结果是:"+booool);

    }

   

    function test05(){

    var regex=/^[1-9]\d{16}(xX|[0-9])$/;

    var sfz="42222222133213221x";

     var boooool=regex.test(sfz);

     alert("结果"+boooool);

    }

   

   

            // ^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$

            //判断输入的日期不能超过今年的

                function test06(){

                 var yy=document.getElementById("year").value;

                 var mm=document.getElementById("month").value;

                 var dd=document.getElementById("date").value;

                

                 var date=new Date();

                 var y=date.getFullYear();

                 var m=date.getMonth();

                 var d=date.getDate();

 

                 switch(mm){

                 case"2":

                 if((yy%4==0&&yy%100!=0)||yy%400==0){

                      if(dd>29){

                        alert("天数不能大于29");

                          }

                     }else{

                         if(dd>28){

                        alert("天数不能大于28");

                             }

                         }

                 break;

                 case"4":

                 case"6":

                 case"9":

                 case"11":

                     if(dd>30){

                        alert("天数不能大于30");

                         }

                 }

 

                 //年的正则

                var regex=/^[1-2][0-9]{3}$/;

                if(!regex.test(yy)){

                    alert("输入年的格式不正确!");

                    }

                //月的正则

                 var regex1=/^([1-9]|1[0-2])$/;

                if(!regex1.test(mm)){

                      alert("输入月的格式不正确!");

                    }

                  //日的正则

                  var regex2=/^([1-9]|[1-2][0-9]|3[0-1])$/

                      if(!regex2.test(dd)){

                          alert("输入天的格式不正确!");

                          }

                 }

           

 

    </script>

  </head>

 

  <body>

    <form action="" method="post">

      年:<input type="text" id="year">

   月:<input type="text" id="month">

   日:<input type="text" id="date">

   <input type="button" value="显示" onclick="test06()">

</form>

  </body>

</html>

 

 

选择了一个省 然后市的下拉框可以出现对应的省的市

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

   

    <title>My JSP 'ShengSelect.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">

 

   <script type="text/javascript">

       function scc(){

       var c=document.getElementById("city");

                c.add(new Option("海淀","海淀"));

              c.add(new Option("朝阳","朝阳"));

              c.add(new Option("丰台"));

              c.add(new Option("海淀"));

       }

  

        function sc(){

        //省市级联效果

        //获取省的值

            var sheng=document.getElementById("province").value;

            alert(sheng);

            

        //针对选中的省  进行判断如果有匹配的则在  市级中添加对应的市

       

               //获得市的对象信息

               var c=document.getElementById("city");

               //清空列表

               c.length=0;

        switch(sheng){

           case"北京":

              c.add(new Option("海淀","海淀"));

              alert("海淀");

              c.add(new Option("朝阳","朝阳"));

              c.add(new Option("丰台","丰台"));

              c.add(new Option("海淀","海淀"));

           break;

           case"上海":

               c.add(new Option("闸北","闸北"));

              c.add(new Option("青浦","青浦"));

              c.add(new Option("静安","静安"));

              c.add(new Option("长宁","长宁"));

           break;

           case"湖北":

               c.add(new Option("武汉","武汉"));

               c.add(new Option("黄石","黄石"));

              c.add(new Option("荆州","荆州"));

              c.add(new Option("咸宁","咸宁"));

           break;

           case"湖南":

               c.add(new Option("长沙"));

              c.add(new Option("湘潭"));

              c.add(new Option("衡阳"));

              c.add(new Option("岳阳"));

           break;

           case"江西":

               c.add(new Option("九江"));

              c.add(new Option("南昌"));

              c.add(new Option("赣州"));

              c.add(new Option("上饶"));

           break;

           case"陕西":

               c.add(new Option("西山"));

              c.add(new Option("宝鸡"));

              c.add(new Option("东城"));

              c.add(new Option("延安"));

           break;

        }

        }

       

        //市到市

        function cd(){

        //获取市对象

        var cc= document.getElementById("city").value;

//         cc="海淀";

        alert(cc);

        var dd=document.getElementById("district");

               //清空列表

               dd.length=0;

        switch(cc){

           case"海淀":

               for(j=0;j<10;j++){

                   dd.add(new Option("海淀区"+j+"","海淀区"+j+""));

               }

           break;

          

           case"朝阳":

               for(i=0;i<10;i++){

                  dd.add(new Option("朝阳区"+i+"","朝阳区"+i+""));                    

               }

           break;  

          

           case"荆州":

               for(i=0;i<10;i++){

                  dd.add(new Option("沙市"+i+"","沙市"+i+""));                

               }

           break;

          

           case"咸宁":

               for(i=0;i<10;i++){

                  dd.add(new Option("赤壁"+i+"","赤壁"+i+""));                

               }

           break;       

        }

        }

  

   </script>

 

  </head>

 

  <%--设置初始值预先加载 --%>

  <body onload="sc();cd();">

  <%--你选择了一个省然后市的下拉框可以出现对应的省的市 --%>

    <form action="">

    省份:<select id="province" name="province" onchange="sc();">

            <option value="北京" selected="selected">北京</option>

            <option value="上海">上海</option>

            <option value="湖北">湖北</option>

            <option value="湖南">湖南</option>

            <option value="江西">江西</option>

            <option value="陕西">陕西</option>

        </select>

        &nbsp;&nbsp;&nbsp;&nbsp;

    市:<select id="city" name="city" onchange="cd();"></select>

    区:<select id="district" name="district"></select>

   

    </form>

  </body>

</html>

 

 

相关文章推荐

java 从零开始,学习笔记之基础入门<运算符表达式和流程控制>(六)

运算符表达式和流程控制 v  分割符:,,;,[],() v  算术运算符:  +,―,*,/,%,++,―― v  关系运算符:  >,=, v  布尔逻辑运算符:  !,& , | , ^ , &...
  • lulu147
  • lulu147
  • 2013年10月31日 09:17
  • 1001

java 从零开始,学习笔记之基础入门<Struts2_实战演练(中)>(三十九)

Struts2_实战演练(中) 面向切面编程 针对特定功能写出通用类,所关注的业务方面即切面   Login.Jsp->login.do 拦截器拦截login.do 所对应的action...
  • lulu147
  • lulu147
  • 2014年02月17日 09:40
  • 1231

java 从零开始,学习笔记之基础入门(一)

Java技术体系的三个方向:j2ee(面向企业级开发),j2se(面向个人),j2me(面向手机开发)  Java是一门强类型语言,主要体现在对变量类型的定义有严格的类型规定,如果是int就必须定义一...
  • lulu147
  • lulu147
  • 2013年10月25日 17:26
  • 1673

java 从零开始,学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)

注释_运算符_函数 注释 --单行注释 /* *多行注释 * * */   --定义局部变量 --declare 局部变量名类型[(长度)] =  默认值; --给局部变量赋值 --   se...
  • lulu147
  • lulu147
  • 2013年11月26日 13:54
  • 1544

java 从零开始,学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)

Oracle_函数_触发器_游标_存储过程_视图 ---PL/SQL语言部分  --PL.SQL基本格式:    --declare  --声明部分--一切变量和常量在此声明...
  • lulu147
  • lulu147
  • 2013年12月17日 12:53
  • 1450

java 从零开始,学习笔记之基础入门<javascript>(三十)

Javascript 弹出对话框 Lesson2.html 无标题文档         function say(){       ...
  • lulu147
  • lulu147
  • 2013年12月05日 10:01
  • 1297

java 从零开始,学习笔记之基础入门<jsp>(二十六)

jsp Jsp (javaServer page)    主要是用来接收客户端的请求,然后对此jsp文件进行编译生成一个servlet文件,然后再执行编译之后的文件,处理之后得到对应的处理之后的资源,...
  • lulu147
  • lulu147
  • 2013年11月29日 10:23
  • 1245

java 从零开始,学习笔记之基础入门<数组>(七)

数组 数组是用来存放多个相同类型的数据 数组的语法格式 数组类型[]  数组名=new  数组类型[数组的长度];   数组的声明有两种形式: 数组类型...
  • lulu147
  • lulu147
  • 2013年11月01日 14:22
  • 1105

java 从零开始,学习笔记之基础入门<Struts2_实战演练(下)>(四十)

Struts2_实战演练(下) 国际化 1.        导入相关的包 2.        配置国际化资源文件:gobalMessage_en_US.properties(src目录下,1.前...
  • lulu147
  • lulu147
  • 2014年02月18日 12:41
  • 1390

java 从零开始,学习笔记之基础入门<Struts2_Spring_整合>(四十一)

Struts-Spring Struts-Spring整合配置图   Spring配置文件 applicationContext.xml xml ...
  • lulu147
  • lulu147
  • 2014年02月19日 09:43
  • 1020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 从零开始,学习笔记之基础入门<正则表达式>(三十一)
举报原因:
原因补充:

(最多只允许输入30个字)