阿木申 申楠

热衷编程技术 | 申楠 : qq:38371354 | msn:amushen2005@hotmail.com

导航

[dojo]功能强大的文本框:dijit.form.ValidationTextbox

Posted on 2007-07-25 16:19  阿木申  阅读(2516)  评论(1编辑  收藏  举报

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