我想允許以下模式:任何數字或兩個數字之間的連字符,所以基本上是一個房子號碼。什麼是更好的正則表達式/正則表達式比測試房屋號碼的模式更好?
到目前爲止是這種情況,但似乎有點怪我:/^(\d)+$|^([\d]+-[\d]+)$/g
這正確valids "1", "12", "12-13"
和unvalids "-2
「和"12-"
我想允許以下模式:任何數字或兩個數字之間的連字符,所以基本上是一個房子號碼。什麼是更好的正則表達式/正則表達式比測試房屋號碼的模式更好?
到目前爲止是這種情況,但似乎有點怪我:/^(\d)+$|^([\d]+-[\d]+)$/g
這正確valids "1", "12", "12-13"
和unvalids "-2
「和"12-"
如何以下
/^\d+(-\d+)?$/
g
標誌。?
使得以下-\d+
部分可選。例子:
/^\d+(-\d+)?$/.test('1') // true
/^\d+(-\d+)?$/.test('12') // true
/^\d+(-\d+)?$/.test('12-13') // true
/^\d+(-\d+)?$/.test('-13') // false
/^\d+(-\d+)?$/.test('13-') // false
非常感謝。我現在呢?但並沒有把它變成一個工作表達式。將在計時器過期後立即接受;) – Alex
嘗試用[0-9]替換\ d。將工作完全相同,除了只匹配數字0到9,因爲\ d將匹配數字,但也包括其他數字字符,如東阿拉伯數字。 – Srb1313711
這裏不是非捕獲組織嗎? '/^\ d +( - ?\ d +)?$ /'? – thefourtheye
當心'\ D',因爲這你的期望也許不會那麼做!它可能代表任何數字字符,而不僅僅是阿拉伯語(1,2,3,...)。請參閱http://stackoverflow.com/questions/6479423/does-d-in-regex-mean-a-digit –
我的門牌號碼是56b。你不會爲我贏得比賽。 – Spudley
是的,我會的,我們有一個單獨的領域:)你會有場外號碼和額外的地址 – Alex