惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

博客园 - 阿木申

spring JPA 动态查询 iOS收到Push后播放声音和震动 [vb]sendkeys [vb]键盘精灵 - 阿木申 - 博客园 javascript 画带箭头的线段 关于input type='file'的内容的一种解决方法,模拟键盘 - 阿木申 - 博客园 防止IE缓存,就相当于IE选择每次打开就检查 - 阿木申 - 博客园 [dojo] 解决传中文的乱码问题 - 阿木申 - 博客园 [dojo] dojo.xhrGet和.net整合使用 [dojo]好用的页面对话框dijit.Dialog [dojo]日期选择:dijit.form.DateTextbox dojo0.9 dojo.data研究笔记 [dojo] dojo 0.9 的使用心得 [原创]jBPM 子流程的使用 [原创]jBPM动态生成任务实例,会签或者分派任务时特别有用 [dojo转]动态生成widget [原创]jBpm中泳道使用心得 [原创]jBPM中的Expression和script [原创]JBPM中的基本操作代码
[dojo]功能强大的文本框:dijit.form.ValidationTextbox - 阿木申 - 博客园
阿木申 · 2007-07-25 · via 博客园 - 阿木申

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