簡體   English   中英

正則表達式驗證數字字符串

[英]Regex validating string of numbers

我正在嘗試創建正則表達式,女巫將以 230、420、7456 之類的數字開頭。然后可能是區間 1-9 中的某個數字,但最終長度必須為 9。

例如230888333745623777

我創建了這個:

([(230|420|7456)[0-9]{1,}]{9})

但這是不正確的。 知道如何糾正嗎?

謝謝。

您嘗試的模式未錨定,當前符號使用字符類[...]而不是分組(末尾的]{9}部分重復 9 次]字符)


如果您使用 C#,則使用[0-9]匹配數字 0-9。

您可以斷言總共 9 位數字:

^(?=[0-9]{9}$)(?:230|420|7456)[0-9]+$

正則表達式演示

或者為不同的前導數字長度寫一個交替:

^(?:(?:230|420)[0-9]{6}|7456[0-9]{5})$

正則表達式演示

您可以先簡單地添加長度檢查,然后再添加簡單的正則表達式

 function checkString(str){ return str.length === 9 && /^(?:230|420|7456)\d+$/.test(str) } console.log(checkString("230888333")) console.log(checkString("745623777")) console.log(checkString("123")) console.log(checkString("230888333123"))

暫無
暫無

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

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