1.整数或者小数:/^((0{1}|[1-9]{1}[0-9]+)\.{1}[0-9]+|[1-9]{1}[0-9]*|0)$/
分析:分类讨论,如果是小数,则有两种形式 0.111对应的是 0{1}\.[0-9]+ 100.1111对应的是 [1-9]{1}[0-9]+\.[0-9]+ 所以整体小数的正则表达式就是:
(0{1}|[1-9]{1}[0-9]+)\.{1}[0-9]+) 整数的正则表达式就是 [1-9]{1}[0-9]+,再加上0这种可能性 所以合并起来就是 /^((0{1}|[1-9]{1}[0-9]+)\.{1}[0-9]+|[1-9]{1}[0-9]+|0)$/
2.只能输入数字/^[0-9]+$/
分析:这个很简单,^表示开头,$表示结束,所以这里的意思就是以数字开头,以数字结束,+表示至少要一个数字
3.只能输入n位的数字 /^\d{n}$/。
分析:\d等价于[0-9]匹配数字,{n}表示匹配的个数是n个
4.只能输入至少n位的数字:/^\d{n,}$/。
分析:{n,}匹配大于等于n个
5.只能输入m~n位的数字:。/^\d{m,n}$/
分析:{m,n}匹配m个~n个(包括m和n)
6.只能输入零和非零开头的数字:/^(0|[1-9][0-9]*)$/。
分析:m|n匹配m或者n 所以这里匹配0或者[1-9][0-9]* [1-9]匹配非0数字,[0-9]*匹配任意个数的数字
7.只能输入有两位小数的正实数:/^(0|[1-9][0-9]+).[0-9]{2}$/。
分析:小数只有两种形式,0.12 和111.12类型 分类讨论,小数点之前可以敲定是0|[1-9][0-9]+ 小数点之后是[0-9]{2}
8.只能输入非零的正整数:/^\+?[1-9][0-9]*$/。
分析:+?表示0个或者一个
9.只能输入非零的负整数:/^\-[1-9][0-9]*$/。
分析:^\-匹配开头为-
10.只能输入长度为3的字符:/^.{3}$/。
分析:.表示除了换行和行结束符外的任何字符
原文:http://www.cnblogs.com/wjcnet/p/3836158.html