<!--
表单校验,用户名必须是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>
DOM(三)-08-(示例-表单校验-涉及的正则校验)
最新推荐文章于 2024-04-14 17:00:15 发布