我有以下功能:
var checkNameLenght = function(name,nameLenght,allowedLenght,defaultName) {
var result;
if(!(nameLenght <= allowedLenght) || !(/[^a-z]/i.test(name))) {
result = name;
}
else {
if(opts.debug == true) {
console.log(name+' is to long or contains special characters / numbers | Please choose a name shorter than '+allowedLenght+' characters or remove any character / number');
}
result = defaultName;
}
return result;
}
我用它来检查字符串的长度(在我的例子中是输入的值)以及它是否包含任何特殊字符或数字。
我这样使用它:
var input = 'Somevalue';
checkNameLenght(input ,input.length,16,'Username');
唯一的问题是,如果input
字符串包含上述某些条件,那么控制台将输出两次消息。
为什么会这样?
答案 0 :(得分:2)
我测试了它,它工作得很好。你确定你没有两次调用该功能吗?
并尝试避免opts.debug
所做的任何事情,只需使用if(console)