Dojo学习6 功能强大的文本框:dijit.form.ValidationTextbox

6. 功能强大的文本框: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"
 >

一些属性:
required="true"  //必须填写
trim="true"   //将前后的空格自动删除<
propercase="true"  //单词首字母大写
uppercase="true"  //大写字母形式
lowercase="true"  //小写字母形式

验证文本组件可以支持正则表达式验证,比如:
不包含空格验证:
<input id="vt1" type="text" name="phone"  value="someTestString"
   dojoType="dijit.form.ValidationTextbox"
   regExp="[\w]+"
   required="true"
   trim="true"
   invalidMessage="输入中不允许包含空格">

email地址验证:
<input id="vt2" type="text" name="phone"  value="/[email protected]"
   dojoType="dijit.form.ValidationTextbox"
   regExp="(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)"
   required="true"
   trim="true"
   invalidMessage="输入合法的email地址">

只允许输入数字:   
<input id="vt1" type="text" name="phone"  value="/123.34"
   dojoType="dijit.form.NumberTextbox"   
   required="true"
   trim="true"
   invalidMessage="只允许输入数字">
   
</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}

你可能感兴趣的:(Dojo学习6 功能强大的文本框:dijit.form.ValidationTextbox)