2014-10-18 49 views
0

好吧,所以我目前正在尝试使用正则表达式来验证我的字符串有16个数字。也是MM/YYYY格式。他们不工作。16位数和正斜杠的正则表达式?

var cc = ccnum.value; 
cc = cc.replace(/\s/g, ''); 
cc = cc.replace(/-/g, ''); 
//Validate the credit card number: 
if (/^\d{16}$/.test(cc.value)) { 
    removeErrorMessage('ccnum'); 
} else { 
    addErrorMessage('ccnum', 'Please enter a valid credit card number.'); 
    error = true; 
} 

if (/^\d{2}?\d{4}$/.test(exp.value) && (expDate[0] >= month) && (expDate[1] >= year)) { 
+0

“16号” _and_“MM/YYYY格式“?共24个字符,或15个数字,包括一个'/',总共16个字符?谢谢 – guest271314 2014-10-18 05:22:07

回答

3

正则表达式来验证其正好包含16位数字或不是字符串。

^\d{16}$ 

正则表达式来验证这个MM/YYYY格式

^\d{2}\/\d{4}$ 

实施例:

> /^\d{16}$/.test('1234567890987654') 
true 
> /^\d{16}$/.test('12345678909876545') 
false 
> /^\d{16}$/.test('712345678909876545') 
false 
> /^\d{16}$/.test('123456789098765') 
false 
+0

好吧mm/yyyy格式的工作,但16位数没有。我也是从这个代码开始的。我确保我的输入也是16位数字。 – EsotericRider 2014-10-18 05:07:41

+0

它适用于我..我认为你的代码可能有一些问题.. – 2014-10-18 05:12:54

+1

它会验证错误的月份。 – 2014-10-18 05:22:54

0

正则表达式来验证这个MM/YYYY格式

^0[1-9]|1[0-2]\/\d{4}$