首页 > 代码库 > js 常用正则表达式

js 常用正则表达式

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}$/。

分析:.表示除了换行和行结束符外的任何字符