我有一個功能:改進的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