[英]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.