[英]Regular Expression for Credit card information should not allow characters
我正在使用正則表達式^4[0-9]{15}$
來檢查以4
開頭的VISA信用卡信息,該信息長度為16位。
該表達式接受信用卡號,例如4141414141414141aa
,這是錯誤的,因為它在有效信用卡號的末尾接受字母字符。
我該如何解決?
如果您使用Java,則錨點不是^
和$
,而是\\A
和\\z
,因此您的正則表達式將是
"\\A4[0-9]{15}\\z"
要么
"\\A4\\d{15}\\z"
在Javascript中,錨點的確應為^
和$
制作正則表達式:
/^4\d{15}$/
在我的Firebug Javascript控制台中進行了測試:
>>> var val1='4141414141414141';
>>> var val2='4141414141414141aa';
>>> /^4\d{15}$/.test(val1);
true
>>> /^4\d{15}$/.test(val2);
false
您可以使用\\b
匹配JavaScript中單詞的開頭和結尾。 因此可以是:
if (/\b4\d{12}(?:\d{3})?\b/.test(subject)) {
// Successful match
} else {
// No match
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.