Java教程之HTML正则表达式表单制作
HTML5对表单元素提供了patern属性,它接受一个正则表达式。表单提交时这个正则表达式会被用于验证表单内非空的值,如果控件的值不匹配这个正则表达就会弹出提示框,并阻止表达提交。提示框内的文字可以使用setCustomValidity方法来自定义
比如下面这个表单内,文本框只接受大陆的手机号,输入其它东西就无法提交
注意只有非空的表单才会使用正则验证,如果什么都不输入的话,pattern不会被使用,所以还需要required协助。但是这个代码弹出的提示是这样的:

这样的提示文字只有猴子看得懂!所以我们还需要更友好的提示文字,使用setCustomValidity方法来定义。

invalid事件会在表单submit事件之前触发,如果验证不通过的话就不会触发表单的submit。而提交时会先验证所有表单元素是值是否有效。除了提交外还可以手动调用checkValidity方法来执行验证。
上面的例子中我直接对控件设置固定的提示其实不太好,有时候可能需要更详细的提示信息,比如空的时候提示为空、太长的时候提示太长、非数字的时候提示非数字等。这些动作可以通过程序验证后动态地setCustomValidity来实现。
其实我觉得HTML5的这套API设计的很糟糕,虽然可以满足基本需求,但还真不太实用。
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!
Java开发高端课程免费试学
大咖讲师+项目实战全面提升你的职场竞争力
- 海量实战教程
- 1V1答疑解惑
- 行业动态分析
- 大神学习路径图
相关推荐
更多 
            Java开班时间
- 
                    北京 丨 10月31日 火速抢座
- 
                    上海 丨 10月31日 火速抢座
- 
                    广州 丨 10月31日 火速抢座
- 
                    兰州 丨 10月31日 火速抢座
- 
                    杭州 丨 10月31日 火速抢座
- 
                    南京 丨 10月31日 火速抢座
- 
                    沈阳 丨 10月31日 火速抢座
- 
                    大连 丨 10月31日 火速抢座
- 
                    长春 丨 10月31日 火速抢座
- 
                    哈尔滨 丨 10月31日 火速抢座
- 
                    济南 丨 10月31日 火速抢座
- 
                    青岛 丨 10月31日 火速抢座
- 
                    烟台 丨 10月31日 火速抢座
- 
                    西安 丨 10月31日 火速抢座
- 
                    天津 丨 10月31日 火速抢座
- 
                    石家庄 丨 10月31日 火速抢座
- 
                    保定 丨 10月31日 火速抢座
- 
                    郑州 丨 10月31日 火速抢座
- 
                    合肥 丨 10月31日 火速抢座
- 
                    太原 丨 10月31日 火速抢座
- 
                    苏州 丨 10月31日 火速抢座
- 
                    武汉 丨 10月31日 火速抢座
- 
                    成都 丨 10月31日 火速抢座
- 
                    重庆 丨 10月31日 火速抢座
- 
                    厦门 丨 10月31日 火速抢座
- 
                    福州 丨 10月31日 火速抢座
- 
                    珠海 丨 10月31日 火速抢座
- 
                    南宁 丨 10月31日 火速抢座
- 
                    东莞 丨 10月31日 火速抢座
- 
                    贵阳 丨 10月31日 火速抢座
- 
                    昆明 丨 10月31日 火速抢座
- 
                    洛阳 丨 10月31日 火速抢座
- 
                    临沂 丨 10月31日 火速抢座
- 
                    潍坊 丨 10月31日 火速抢座
- 
                    运城 丨 10月31日 火速抢座
- 
                    呼和浩特丨10月31日 火速抢座
- 
                    长沙 丨 10月31日 火速抢座
- 
                    南昌 丨 10月31日 火速抢座
- 
                    宁波 丨 10月31日 火速抢座
- 
                    深圳 丨 10月31日 火速抢座
- 
                    大庆 丨 10月31日 火速抢座
 
					 
								 【热点话题】
						【热点话题】
					 
					 
								 
								 
                     
                     
             
             
             
             
                     
                     
                     
                     
                     
                    



 
				 
				 
				 
				 400-111-8989
				400-111-8989
			 
				 lihm@tedu.cn
				lihm@tedu.cn
			
 
	

 
			 
			 
			 
			 
			
			 
					 
					 
				 
					 
					