[英]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]+[\-\/]*)(.*)
盡管正則表達式看起來很長,但是非常適合您的情況。 看看演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.