这些是指令:ATM机允许使用4位或6位PIN码,而PIN码只能包含4位或6位数字。如果该函数传递了有效的PIN字符串,则返回true,否则返回false。
这是我的代码:
function validatePIN (pin) {
//return true or false
let regexPIN4 = /^\d{4}$/;
let regexPIN6 = /^\d{6}$/;
if (regexPIN4.test(pin)|regexPIN6.test(pin)){
return True;
};
这是错误:
/home/codewarrior/index.js:47
});
^
SyntaxError: Unexpected token )
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at [eval]:1:1
我查看了StackOverflow条目:Regex validate PIN code JS
答案 0 :(得分:2)
public/index.html
}
。||
,只有True
这应该是正确的代码:
true
您甚至可以像这样简化它:
function validatePIN (pin) {
let regexPIN4 = /^\d{4}$/;
let regexPIN6 = /^\d{6}$/;
return regexPIN4.test(pin) || regexPIN6.test(pin);
}
答案 1 :(得分:0)
除语法错误外,这是一个演示,演示仅用一个只允许4或6位数字的正则表达式完成任务。
function checkPin(pin) {
// regex to check for pins with 4 or 6 digits
return /^\d{4}(\d{2})?$/.test(pin);
}
console.log(checkPin(1234)); // true
console.log(checkPin(123456)); // true
console.log(checkPin(12)); // false - not exactly 4 or 6 digits
console.log(checkPin('12h34')); // false - a non-digit character
关于您的错误:
OR
中的逻辑JavaScript
运算符的写法类似于:||
|
。}
来关闭if
语句。true
不是True
,JavaScript
是区分大小写的。希望我进一步推动了你。