喜欢听青蛙和鸣 發表於 2022-11-17 09:46:51

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

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">一、实现方法</a></li><li><a href="#_label1">二、错误写法</a></li><li><a href="#_label2">附:正则表达式 1-100的整数</a></li><li><a href="#_label3">总结</a></li></ul></div><p>注:如嫌繁琐;实现方法可直接看一、实现方法;使用细节可直接看&nbsp;三、总结</p>
<p class="maodian"><a name="_label0"></a></p><h2>一、实现方法</h2>
<p>法一:</p>
<div class="jb51code"><pre class="brush:js;">let reg=/^(\d|10)$/;
reg.test(9.2)//false;
reg.test(9)//true;</pre></div>
<p>法二</p>
<div class="jb51code"><pre class="brush:js;">let reg=/^(|10)$/
reg.test(9.2)//false;
reg.test(9)//true;</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>二、错误写法</h2>
<p>1.正则表达式里面不能随便打&nbsp;空格呀,也会被当做一个&nbsp;匹配符号。</p>
<p>1)代码</p>
<div class="jb51code"><pre class="brush:js;">let reg6=/^(\d | 10 )$/</pre></div>
<p>2)结果:因为正则表达式中加了空格(\d后面加了一个空格,10前后分别加了一个空格)&nbsp;,所以只能匹配:0-9后面加一个空格的字符串,如&#39;9 &#39;;还有字符串 &#39; 10 &#39;,前后各有一个空格。具体情况如图2-1所示</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202211/202211170935531.png" /></p>
<p style="text-align:center">图 2-1</p>
<p>2.正则表达式表示&nbsp; 或&nbsp;选择时,不仅需要&nbsp;用 |&nbsp;分割开各个选项,还要用小括号&nbsp;把所有选项括起来!否则就会出问题呀,如下面的代码,不添加小括号,匹配到的字符串和&nbsp;我想要匹配0-10的整数完全不同。</p>
<p>1)代码</p>
<div class="jb51code"><pre class="brush:js;">let reg9=/^\d|10$/</pre></div>
<p>2)结果</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202211/202211170935532.png" /></p>
<p style="text-align:center">图 2-2</p>
<p class="maodian"><a name="_label2"></a></p><h2>附:正则表达式 1-100的整数</h2>
<p>下面有1-100和0-100的正则表达式</p>
<p>1-100正则表达式:</p>
<div class="jb51code"><pre class="brush:js;"> var reg = new RegExp("^(|\\d|100)$");
var a=101;
    if(!reg.test(a)) {
            alert("请输入1-100的整数!")
         
      }
</pre></div>
<p>0-100正则表达式:</p>
<div class="jb51code"><pre class="brush:js;"> var reg = new RegExp("^(\\d|\\d|100)$");
   var a=101;
      if(!reg.test(a)) {
                alert("请输入0-100的整数!")
            
            }
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>总结</h2>
<p>1.正则表达式中不能随便用空格呀,虽然没有显式的使用 /s&nbsp;空格匹配符,但还是会&nbsp;被当做&nbsp;一个匹配符号,必须匹配对应个数的空格才可以匹配成功</p>
<p>2.有多个选项可以选择时,选项之间用 |&nbsp;分开,所有选项要用 ()括起来这些选项,否则也是有问题的。 /^\d|10$/&nbsp;无法实现匹配 0-10的正整数;/^(\d|10)$/可以正确匹配0-10的正整数</p>
頁: [1]
查看完整版本: 正则表达式匹配0-10的正整数以及使用细节