huakaiyueluo

导航

统计

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

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

 

 

 

 

posted on   huakaiyueluo  阅读(190)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示