簡體   English   中英

找不到正則表達式的錯誤

[英]Cannot find errors of the regular expression

我正在制作一個版本過濾器,它接受用戶輸入作為鍵。 此過濾器需要具有檢查機制以禁用非法版本輸入。 我的合法版本類似於1.2.3.4 ,所以我制作一個正則表達式,

RegExp('^(\d+\.)*(\d+)$').test('1.2.3.4')

我最初的計划是^(\\d+\\.)意味着類似於123., 1. (\\d+)$表示一個充滿數字的塊。

但它總是回歸虛假,讓我感到困惑; 我不知道該怎么做才能進一步糾正它。

歡迎任何想法或建議。

我認為你應該使用以下正則表達式模式:

^\d+(\.\d+)*$

這將匹配獨立的單個數字,例如5 ,或者跟隨點和另一個數字的數字,例如1.5 ,依此類推。 訣竅是使整個.NUMBER術語成為可選項。

 // positive cases console.log(/^\\d+(\\.\\d+)*$/.test('123')); console.log(/^\\d+(\\.\\d+)*$/.test('1.2.3.4')); // negative cases console.log(/^\\d+(\\.\\d+)*$/.test('1.')); console.log(/^\\d+(\\.\\d+)*$/.test('Jon Skeet')); 

RegExp('^(\\d+\\.)*(\\d+)$').test('1.2.3.4') 

是對的。 謝謝你們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM