我有一个功能:改进的JavaScript功能
var checkNameLenght = function(name,nameLenght,allowedLenght,defaultName) {
if((nameLenght <= allowedLenght) && !(/\s[^a-z]/i.test(name))) {
return 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');
}
return defaultName;
}
}
它所做的,是检查是否一定的字符串是大于或小于允许的长度,它还会检查如果字符串包含任何特殊字符或数字(空格除外),如果上述任何一个被确认,它将返回一个默认字符串,如果不是字符串。
但是这个函数同时检查长度和正则表达式,if((nameLenght <= allowedLenght) && !(/\s[^a-z]/i.test(name))) { ... }
,但我不想那样,我想先检查长度然后再检查正则表达式。
我想是这样的:
var checkNameLenght = function(name,nameLenght,allowedLenght,defaultName) {
if(nameLenght <= allowedLenght) {
return name;
}
else if(!(/\s[^a-z]/i.test(name))){
return 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');
}
return defaultName;
}
}
但这并不作为第一个版本。我在做什么错误的第二个功能?
顺便说一句,它是'长度',而不是'长度'。 – 2012-01-15 12:16:49
我知道:)我已经提到了十几次:D – Roland 2012-01-15 12:18:37