банкоматов не позволяют 4 или 6 цифр PIN-коды и PIN-коды не могут содержать ничего, кроме точно4 цифр или ровно 6 цифр.регулярное выражение имеет не метод испытания
Если функция передана действительной строкой PIN-кода, верните true
, иначе верните false
.
т.д .:
validatePIN("1234") === true
validatePIN("12345") === false
validatePIN("a234") === false
Почему мой код не работает?
var r = new RegExp('^\\d+$');
function validatePIN (pin) {
if(pin.test(r) && pin.length == 4 || pin.length == 6){
return true;
}else{
return false;
}
}
Попробуйте 'r.test (контактный) '. 'test' - это метод в RegExp, а не String. Документы указывают на это. Но почему бы не сделать '/^(\ d {4} | \ d {6}) $ /'? –
Почему бы не использовать регулярное выражение ''^\\ d {4} (\\ {2})? $ ''И избавиться от теста длины? –
r.test (pin) или pin.match (r) –