java 从零开始,学习笔记之基础入门<正则表达式>(三十一)
来源:互联网 发布:算法心得 pdf 编辑:程序博客网 时间:2024/05/29 21:31
正则表达式
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+"/";
%>
<!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache">
<metahttp-equiv="expires"content="0">
<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
<metahttp-equiv="description"content="This is my page">
<!--
<link rel="stylesheet" type="text/css"href="styles.css">
-->
<scripttype="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>
<formaction=""method="post">
年:<inputtype="text"id="year">
月:<inputtype="text"id="month">
日:<inputtype="text"id="date">
<inputtype="button"value="显示"onclick="test06()">
</form>
</body>
</html>
选择了一个省 然后市的下拉框可以出现对应的省的市
<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'ShengSelect.jsp' starting page</title>
<metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache">
<metahttp-equiv="expires"content="0">
<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
<metahttp-equiv="description"content="This is my page">
<scripttype="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>
<%--设置初始值预先加载 --%>
<bodyonload="sc();cd();">
<%--你选择了一个省然后市的下拉框可以出现对应的省的市 --%>
<formaction="">
省份:<selectid="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>
市:<selectid="city"name="city"onchange="cd();"></select>
区:<selectid="district"name="district"></select>
</form>
</body>
</html>
- java 从零开始,学习笔记之基础入门<正则表达式>(三十一)
- java 从零开始,学习笔记之基础入门<运算符表达式和流程控制>(六)
- java 从零开始,学习笔记之基础入门(开始)
- java 从零开始,学习笔记之基础入门(一)
- java 从零开始,学习笔记之基础入门<数组>(七)
- java 从零开始,学习笔记之基础入门<Switch>(八)
- java 从零开始,学习笔记之基础入门<Static>(十二)
- java 从零开始,学习笔记之基础入门<异常>(十五)
- java 从零开始,学习笔记之基础入门<集合>(十六)
- java 从零开始,学习笔记之基础入门<javascript>(三十)
- java 从零开始,学习笔记之基础入门<Oracle_基础>(三十三)
- java 从零开始,学习笔记之基础入门<Oracle_查询>(三十四)
- java 从零开始,学习笔记之基础入门<Struts2_Spring_整合>(四十一)
- java 从零开始,学习笔记之基础入门<Jquery>(四十三)
- java 从零开始,学习笔记之基础入门<统计图>(四十四)
- 【Java学习笔记之三十一】详解Java8 lambda表达式
- java 从零开始,学习笔记之基础入门<数组列表(ArrayList)>(九)
- java 从零开始,学习笔记之基础入门<对象_属性>(二)
- hdu 1007
- 标准C编写COM(八)COM in plain C,Part8
- response例子
- SQLServer 2005日期函数
- hdu4500 小Q系列故事——屌丝的逆袭
- java 从零开始,学习笔记之基础入门<正则表达式>(三十一)
- ClassLoader源码分析
- android 杂乱(一)
- 给textarea控件赋值问题 - Java / Web 开发
- Android的ADB工具使用
- 注册表方式添加右键程序关联
- 时间复杂度和空间复杂度
- ios在视图上设置按钮
- DBA生存之四大守则