JavaWeb 正则表达式&表单验证

正则表达式

  1. 什么是正则表达式
    正则表达式:regular expression
    正则表达式仅仅是用来处理字符串的,它的特长在于处理复杂的字符串。

  2. 正则表达的作用
    1、通过正则表达式定义的模型(规则/模式)去验证某个字符串是否和模型匹配
    2、通过正则表达式定义的模型(规则/模式)去把和模型匹配的字符串找出来

  3. 如何定义正则表达式
    先看一个例子: var reg =/abcd/;这个叫做对象直接量的方式创建正则表达式
    注意:在正则里出现的普通字符,就表示此字神本来的含意
    再看一个例子: var reg = new RegExp("abcd’);叫做构造函数创建方式·
    注意: var reg =//;这个不叫正则表达式,叫注释。
    var reg = /xxx/,两个//之间必须要写东西,才叫正则表达式

<script type="text/javascript">
		var reg=/111 /;//在两个斜杠之间写内容叫做正则表达式
		var reg1=new RegExp('123');
	</script>
  1. 正则表达式的方法
    在这里插入图片描述
var reg=/111 /;//在两个斜杠之间写内容叫做正则表达式
		var reg1=new RegExp('123');
		// 验证字符串是否符合规则的要求,正则表达式对象.test();
		var str="abc123456";
		console.log(reg1.test(str));//true
		console.log(reg1.exec(str).toString());
  1. 简单案例

  2. 元字符
    任何字符在正则中除了有特殊意义的,其他的都是代表本身意思的普通字符。
    但是,当给字母前面加上1 (1:表示转义字符)之后,这个字母就不是原来的字母了,它就表示特殊的含义了这个特殊的含义,就叫做元字符。
    在这里插入图片描述
    []表示的是范围:
    例子:[0-9]表示的是:0到9之间(包含)任意一个数字
    正则表达式可以用"()至来进行分组,使表达式结构清晰。
    \做为转意,即通常在"“后面的字符不按原来意义解释,如/d/匹配字符"d”,当d前面加了反斜杆后//d/,转意为匹配一个数字字符。

  3. 量词
    在这里插入图片描述

  4. 贪婪模式非贪婪模式
    只要在合法的情况下,它们会尽量多去匹配字符,这就叫做贪婪模式.
    非贪婪匹配:如果我们希望正则尽量少地匹配字符,在量词的后边加问号?即可,组成如下的形式:
    在这里插入图片描述

  5. 边界:^表示开始,$表示结束
    ^:匹配一个输入或一行的开头,表示开始,匹配紧跟在它后面的字符比如:/^a/匹配"“ab”",而不匹配"“ba”
    $:匹配一个输入或一行的结尾,表示结束,匹配紧跟在它前面的字符比如:/a$/匹配"“ca”",而不匹配"“ac”"

  6. 分组
    分组:量词会匹配紧挨着的单词,使用分组之后,就把(里面的单词作为整体来进行匹配。

  7. |正则表达式中的或
    把"|"左石两边的一到多个字符当成一个整体对待b|c表示,匹配b或者c(这里相当于[bc]).
    ab |ac表示匹配ab或ac(但这里不相当于[abc],[]表示在一组字符中任选一个)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script type="text/javascript">
		var reg=/111 /;//在两个斜杠之间写内容叫做正则表达式
		var reg1=new RegExp('123');
		// 验证字符串是否符合规则的要求,正则表达式对象.test();
		var str="abc123456";
		console.log(reg1.test(str));//true
		console.log(reg1.exec(str).toString());
		// 必须包含2位0-9的数字
		// var reg2=/[0-9][0-9]/;
		var reg2=new RegExp('\\d\\d');
		console.log(reg2.test(str));
		// 匹配字符串第一个非换行字符
		var reg3=/./;
		console.log(reg3.test(str));
		console.log(reg3.exec(str));
		// 包含0-9的至少1位的数字
		var reg4=/\d+/;
		console.log(reg4.test(str));
		//匹配一个连续出现10次的数字字符串
		var reg5=/\d{10}/;
		console.log(reg5.test(str));
		// 找到数字,出现3到8次
		var reg6=/\d{3,8}/;
		console.log(reg6.test(str));
		// 找到字符,出现2到4次
		var reg7=/\w{2,4}/;
		console.log(reg7.test(str));
		// 验证手机号
		// 11位数字,必须以1开头,第二位只能是 3,5,7,8,9
		var reg8=/^1[35789]\d{9}$/;
		
	</script>
	<body>
	</body>
</html>

表单提交和表单验证

  1. 什么是表单验证
  2. 如何进行表单验证
    1、表单验证一般都结合is事件和函数,还有正则表达式综合运用。
    2、表单验证的规则∶
    action:提交表单到哪个地方去
    method:表示表单提交的方式,一般都是Post方式
    submit:提交表单,对应的需要使用onsubmit事件
    onsubmit:一般都是在form标签上,会触发check()函数验证。还需要在check()函数前面写return
    onsubmit需要接收check()函数的返回值:true/false
    true:表单会提交
    false:表单不提交
    check()函数中的return true/ return false是必须要写的,表示是否提交成功!!!
    案例

Json格式对象

  1. 什么是json
    JSON 英文全称JavaScript Object Notation
    JSON是一种轻量级的数据交换格式
    JSON是独立的语言
    JSON易于理解
    JSON使用JavaScript语法,但是JSON格式仅仅是一个文本
    文本可以被任何编程语言读取及作为数据格式传递

  2. json的作用
    JSON是用于存储和传输数据的格式。
    JSON通常用于服务端向网页传递数据
    语法:

{
	"属性名":"属性值",
	"属性名1":"属性值1",
	"属性名2":"属性值2",
	
}
  1. JSON获取值
    1、通过 json对象.属性名
    2、通过json对象[“属性名”]:数组下标

在这里插入图片描述
省市级联

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<select id="pri"></select>
		<select id="city"></select>
	</body>
	<script type="text/javascript">
		function $(a){
			return document.getElementById(a);
		}
		//获取对象
		var pri=$("pri");
		var city=$("city");
		//json格式创建
		var json=[
			{
				"pname":"湖北省",
				"cname":["武汉市","黄冈市","宜昌市"]
			},
			{
				"pname":"广东省",
				"cname":["深圳市","广州市","惠州市"]
			}
		];
		//创建省级option
		
		for(var i=0;i<json.length;i++){
			console.log(json[i].pname);
			var op=document.createElement("option");
			op.innerHTML=json[i].pname;
			op.value=json[i].pname;
			pri.appendChild(op);
		}
		//创建市级
		pri.onchange=function(){
			city.length=0;
			for(var i=0;i<json[pri.selectedIndex].cname.length;i++){
				console.log(json[pri.selectedIndex].cname[i]);
				
				var op=document.createElement("option");
				op.innerHTML=json[pri.selectedIndex].cname[i];
				op.value=json[pri.selectedIndex].cname[i];
				city.appendChild(op);
			}
			
		}
	</script>
</html>

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正则表达式(Regular Expression)是用来匹配和操作字符串的一种强大工具。在JavaWeb开发中,正则表达式常用于以下几个方面: 1. 字符串匹配:可以通过正则表达式来判断一个字符串是否符合某种模式。比如,判断一个字符串是否是合法的邮箱地址、手机号码等。 2. 字符串替换:可以使用正则表达式来查找并替换字符串中的某些部分。比如,将一段文本中的所有URL替换为链接。 3. 字符串分割:可以使用正则表达式来按照某个规则将字符串分割为多个部分。比如,按照逗号或空格将一个句子分割成多个单词。 在Java中,可以使用java.util.regex包中的类来进行正则表达式的操作。常用的类有Pattern和Matcher。 下面是一个示例代码,演示了如何使用正则表达式进行字符串匹配: ```java import java.util.regex.*; public class RegexExample { public static void main(String[] args) { String input = "abc123"; String pattern = "[a-z]+\\d+"; Pattern regex = Pattern.compile(pattern); Matcher matcher = regex.matcher(input); if (matcher.matches()) { System.out.println("字符串匹配成功!"); } else { System.out.println("字符串匹配失败!"); } } } ``` 以上代码中,使用正则表达式`[a-z]+\\d+`来匹配由小写字母和数字组成的字符串。如果输入字符串`abc123`满足该正则表达式,则输出"字符串匹配成功!";否则输出"字符串匹配失败!"。 希望以上内容对你有帮助!如果你还有其他问题,可以继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值