2017-03-17 58 views
-2

嗨,大家好,我只是想知道正確的信用卡格式正則表達式。我有這個代碼^ 6 [0-9] {15} $但它只能接受這種格式(6000000000000000 )。但我想要一個這樣的格式0000 0000 0000 0000或0000-0000-0000-0000。正則表達式的信用卡號碼格式

+0

使用jquery payment js https://raw.githubusercontent.com/stripe/jquery.payment/master/lib/jquery.payment.min.js –

+0

http://stackoverflow.com/tags/regex/info – OrangeDog

回答

0

有多種方法可以做到這一點。此外,你沒有指定你想要哪種語言的正則表達式,所以我在這裏使用.NET正則表達式語法。

一個正則表達式如下:

^[0-9]{4}([ -]?[0-9]{4}){3}$ 

因此,這需要4個數字,隨後3組的4個數字與它們之間的可選的分離器。問題是,這將讓他們混分離,所以像這樣的東西在技術上是允許的:

0000-11112222 3333 

下面是消除這個問題更噁心的版本:

^[0-9]{4}(([ ][0-9]{4}){3}|(-[0-9]{4}){3}|([0-9]{4}){3})$ 

這將迫使他們對他們使用的分隔符保持一致。