正则表达式匹配0-10的正整数以及使用细节详解

admin7个月前笔记64

注:如嫌繁琐;实现方法可直接看一、实现方法;使用细节可直接看 三、总结

一、实现方法

法一:

let reg=/^(\d|10)$/;
reg.test(9.2)//false;
reg.test(9)//true;

法二

let reg=/^([0-9]|10)$/
reg.test(9.2)//false;
reg.test(9)//true;
二、错误写法

1.正则表达式里面不能随便打 空格呀,也会被当做一个 匹配符号。

1)代码

let reg6=/^(\d | 10 )$/

2)结果:因为正则表达式中加了空格(\d后面加了一个空格,10前后分别加了一个空格) ,所以只能匹配:0-9后面加一个空格的字符串,如'9 ';还有字符串 ' 10 ',前后各有一个空格。具体情况如下图所示

image.png

2.正则表达式表示 或 选择时,不仅需要 用 | 分割开各个选项,还要用小括号 把所有选项括起来!否则就会出问题呀,如下面的代码,不添加小括号,匹配到的字符串和 我想要匹配0-10的整数完全不同。

1)代码

let reg9=/^\d|10$/

2)结果

image.png

附:正则表达式 1-100的整数

下面有1-100和0-100的正则表达式

1-100正则表达式:

var reg = new RegExp("^([1-9]|[1-9]\\d|100)$");
 var a=101;
   if(!reg.test(a)) {
           alert("请输入1-100的整数!")
          
       }

0-100正则表达式:

var reg = new RegExp("^(\\d|[1-9]\\d|100)$");
  var a=101;
       if(!reg.test(a)) {
               alert("请输入0-100的整数!")
              
           }
总结

1.正则表达式中不能随便用空格呀,虽然没有显式的使用 /s 空格匹配符,但还是会 被当做 一个匹配符号,必须匹配对应个数的空格才可以匹配成功

2.有多个选项可以选择时,选项之间用 | 分开,所有选项要用 ()括起来这些选项,否则也是有问题的。 /^\d|10$/ 无法实现匹配 0-10的正整数;/^(\d|10)$/可以正确匹配0-10的正整数


相关文章

研究 PHP opcode 是如何优化的

研究 PHP opcode 是如何优化的

1.概述PHP(本文所述案例PHP版本均为7.1.3)作为一门动态脚本语言,其在zend虚拟机执行过程为:读入脚本程序字符串,经由词法分析器将其转换为单词符号,接着语法分析器从中发现语法结构后生成抽象...

Linux系统多网卡环境下的路由配置

Linux系统多网卡环境下的路由配置

Linux下路由配置命令1. 添加主机路由route add -host 192.168.1.11 dev eth0 route add&...

ThreadLocal 父子线程之间如何传递数据

ThreadLocal 父子线程之间如何传递数据

ThreadLocal 的具体原理这篇文章就不解释了,能干啥大伙儿都倒背如流,其实就两点:链路透传(通俗来说就是方便做参数传递,不用在调用方法时携带一堆请求参数)线程隔离每个线程都有自己的一个 Thr...

VPN服务器搭建

VPN服务器搭建

各位处在Linux运维潮流中的大佬们,文章不才,在这里特此分享一套VPN服务器搭建的流程及使用分享。 每个公司都或多或少的进行远程办公,有的公司会采用向日葵orTeamviewer也或者是ngrok、...

利用 Shell 脚本来监控 Linux 系统的内存

利用 Shell 脚本来监控 Linux 系统的内存

一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)1、下载安装:http://downloads.sourceforge.net ... 206451&bi...

介绍Linux下的 Tun/Tap

介绍Linux下的 Tun/Tap

什么是Tun/TapTAP等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。