功能强大的文本框:dijit.form.ValidationTextbox
这个文本输入框的功能比较强大,关键是它能够提供一些常用的验证和大小写转换。下面介绍一个例子和一些常用的属性:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>validationTextbox</title>
<style type="text/css">
@import "../js/dojo/resources/dojo.css";
@import "../js/dijit/themes/tundra/tundra.css";
.dijitInputFieldFocused{
border:solid 2px #FFDF00;
}
</style>
<script type="text/javascript"
djConfig="parseOnLoad: true, isDebug: true"
src="../js/dojo/dojo.js"></script>
<script>
dojo.require("dijit.form.ValidationTextbox");
dojo.require("dijit.form.NumberTextbox");
</script>
</head>
<body class="tundra">
<form name="form1">
<input type="text" id="vt" dojoType="dijit.form.ValidationTextbox"
promptMessage="请输入信息"
invalidMessage="输入的信息有误"
required="true"
trim="true"
propercase="true"
><br />
一些属性:<br />
required="true" //必须填写<br />
trim="true" //将前后的空格自动删除<br />
propercase="true" //单词首字母大写<br />
uppercase="true" //大写字母形式<br />
lowercase="true" //小写字母形式<br />
<hr />
验证文本组件可以支持正则表达式验证,比如:<br />
不包含空格验证:<input id="vt1" type="text" name="phone" value="someTestString"
dojoType="dijit.form.ValidationTextbox"
regExp="[\w]+"
required="true"
trim="true"
invalidMessage="输入中不允许包含空格"><br />
email地址验证:<input id="vt2" type="text" name="phone" value="/amushen2005@hotmail.com"
dojoType="dijit.form.ValidationTextbox"
regExp="(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)"
required="true"
trim="true"
invalidMessage="输入合法的email地址"><br />
只允许输入数字:
<input id="vt1" type="text" name="phone" value="/123.34"
dojoType="dijit.form.NumberTextbox"
required="true"
trim="true"
invalidMessage="只允许输入数字"><br />
</form>
</body>
</html>
ValidationTextbox的一些常用方法:
setValue(); //不要使用.value或者.innerHTML来设置值,你可能设置不成功或者失去校验
getValue();
validate(); 手工校验
isEmpty(); 是否为空
isValid(); 是否符合校验规则
关于校验的正则表达式法比较灵活,功能也非常强大,可以到微软或者sun的官方网站查看一些权威的资料。或者直接上网上搜索一些常用的正则表达式。
下面给出一些常用正则表达式:
1、 非负整数:”^d+$”
2、 正整数:”^[0-9]*[1-9][0-9]*$”
3、 非正整数:”^((-d+)|(0+))$”
4、 负整数:”^-[0-9]*[1-9][0-9]*$”
5、 整数:”^-?d+$”
6、 非负浮点数:”^d+(.d+)?$”
7、 正浮点数:”^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$”
8、 非正浮点数:”^((-d+.d+)?)|(0+(.0+)?))$”
9、 负浮点数:”^(-((正浮点数正则式)))$”
10、英文字符串:”^[A-Za-z]+$”
11、英文大写串:”^[A-Z]+$”
12、英文小写串:”^[a-z]+$”
13、英文字符数字串:”^[A-Za-z0-9]+$”
14、英数字加下划线串:”^w+$”
15、E-mail地址:”^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$”
16、URL:”^[a-zA-Z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$”
17、匹配中文字符的正则表达式: [\u4e00-\u9fa5]
18、匹配双字节字符(包括汉字在内):[^\x00-\xff]
19、匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
20、匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
21、匹配中国邮政编码:[1-9]\d{5}(?!\d)
22、匹配身份证:\d{15}|\d{18}
原文地址:http://www.dojocn.cn/apage/amushen/archives/2007/20.html
转自:http://www.dojocn.cn/