簡體   English   中英

Javascript RegEx可以檢查字符串中一定數量的數字字符,而與其他字符無關

[英]Javascript RegEx to check a certain number of Numeric characters in string regardless of other characters

我有一個字段,用戶將輸入一個9位數的數字字符串。

例如 975367865

但是,某些用戶將使用諸如“-”和“ /”之類的分隔符輸入9位數字字符串。

例如 9753/67/865或9753-67-865

我想確保即使用戶在字符串中的某個位置添加了“-”和“ /”,該用戶也必須輸入至少 9個數字。

希望有道理。

非常感謝您的幫助。

您可以刪除任何不是數字的東西,以得到一個很好的規范化形式:

var number = input.replace(/[^\d]/g, "");

var ok = number.length == 9;

與量詞匹配:

/^\d(?:\D*\d){8}$/
  • ^$是在字符串末尾斷言位置的錨點 這會斷言整個比賽,但是由於您只是比賽,因此可以將它們排除在外!
  • \\d匹配一個數字。
  • \\D*跳過所有非數字。 然后一個數字將與\\d匹配。
  • 然后對該組進行量化: (?: ){8}斷言后面的交替匹配了八次。 與第一次比賽分開時,這斷言比賽中存在9位數!

查看在線正則表達式演示!

 (?=[\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9][\-\/]*[0-9]+[\-\/]*)(.*)

盡管正則表達式看起來很長,但是非常適合您的情況。 看看演示。

http://regex101.com/r/uR2aE4/3

暫無
暫無

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

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