DOM(三)-08-(示例-表单校验-涉及的正则校验)

<!--
表单校验,用户名必须是4位字母组成,那么就要用到正则校验

打开JScript API文档,找到正则表达式对象,其内描述如下:


1.语法 1
var regularexpression = /pattern/[switch]

2.语法 2
var regularexpression = new RegExp("pattern",["switch"]) 

3.正则表达式对象语法有以下部分: 
(1)pattern 必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。 
(2)switch 可选项。如果使用语法 2 要用引号将 switch 引起来。可选的开关选项有:
			i (忽略大小写)
			g (全文查找出现的所有 pattern)
			gi (全文查找、忽略大小写)

说明:
正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个
正则表达式方法。有关最近进行查找的信息被保存在RegExp对象中。当预先知道查找字符串时用语法1。当查找字符串经常变动或不知道时用
语法2,比如由用户输入得到的字符串。

在使用前pattern参数被编译为内部格式。对语法1来说,pattern在该脚本被装载时被编译。对语法2来说,pattern在使用前,或调用compile
方法时被编译。 

-->

<html>
	<head>
		<style type="text/css">
		</style>
	</head>
	<body>
		<script type="text/javascript">
		
			function checkUser(){
				
//alert("haha");
				var oUserNode = document.getElementsByName("user")[0];
				var name = oUserNode.value;
//alert(name);
				//定义正则表达式
				var reg = new RegExp("^[a-z]{4}$","i");//有4个英文字母,i表示忽略大小写,^和$表示头尾中必须包含4个字母
				/*
				 *用户名只能由4个阿拉伯数字组成: var reg=new RegExp("^[0-9]{4}$");
				 *^表示开头,$表示结尾。后面的标记"i"可以不写。
				 */
				
				var oSpanNode = document.getElementById("spanuserid");
				/*
				 *现在需要被校验的name有了,校验标准正则表达式reg也有了,那么如何进行校验呢?
				 *在JScript API里面的String对象中有如下方法:
				 *	match:使用正则表达式对象对字符串进行查找,并将结果作为数组返回。
				 *【注意】这里和Java不一样,Java中就是使用match方法进行校验的,而JavaScript中match方法是将查找符合
				 *正则表达式要求的结果作为数组返回。
				 *所以需要找寻别的方法。
				 *在JScript API里面的正则表达式对象中有如下方法:
				 *test:返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。
				 *语法:rgexp.test(str) 
				 */


				if(reg.test(name)){
					
					oSpanNode.innerHTML = "用户名正确".fontcolor("blue");
				}else{
					
					oSpanNode.innerHTML = "用户名错误".fontcolor("red");
				}
			}
		
		</script>
		
		用户名称:<input type="text" name="user" οnblur="checkUser()"/>
		<span id="spanuserid"></span>
		<br/>
		输入密码:<input type="text" name="psw" />
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值