#javascript
#javascript
Вопрос:
Я читаю текстовое поле и преобразую это значение в нижний регистр и сравниваю с массивом слов, если оно совпадает, оно выдает ошибку.
Но проблема в том, что когда мы вводим текст в виде буквенно-цифрового значения, я не могу преобразовать строчные буквы и получаю ошибку времени выполнения как «Объект не определен»
if(streetAddress != null){
for(var k=0; k<notValidPostalChars.length; k ){
var secondWord = notValidPostalChars[k];
if (streetAddress.toLowerCase().startsWith(stopWord.toLowerCase())) {
alert("Invalid Error Message");
document.getElementById("address").focus();
return false;
}
}
}
В приведенном выше примере StreetAddress также может содержать буквенно-цифровой код, и он может быть написан строчными или прописными буквами.
Это будет введено конечными пользователями, а notValidPostalChars — это массив, состоящий из всех предопределенных слов с ПРОПИСНЫМИ буквами
Комментарии:
1. как присвоить значение
streetAddress
? что находится вstopWord
( может быть, так и должно бытьsecondWord
)?2. Если вы получаете значение элемента управления form, это всегда строка, даже если она содержит цифры. Покажите несколько примеров ввода и ошибок.
3. оповещение (StreetAddress. В нижний регистр()); для отладки то же самое для stopword
4. Буквенно-цифровые строки могут преобразовываться в нижний регистр: jsfiddle.net/jMBqX . Итак, возможно, есть другая проблема?
5. Пожалуйста, постарайтесь предоставлять своим пользователям понятные сообщения: ‘Not invalid mesage’ означает, что это допустимое сообщение.
Ответ №1:
Возможно, stopWord
не определено?
var secondWord = notValidPostalChars[k];
if (streetAddress.toLowerCase().startsWith(stopWord.toLowerCase())) {
// ^did you mean secondWord?
alert("Not invalid mesage");
// ^ did you mean 'invalid message / not a valid message'?
document.getElementById("address").focus();
return false;
}
Комментарии:
1. SopWord — это ваше второе слово, я считываю данные из массива и сравниваю один за другим
2. Почему тогда вы присваиваете
secondWord
в цикле?3. Прочитайте адрес улицы со страницы jsp, недопустимый почтовый индекс — это массив, содержащий все недопустимые символы, я считываю один элемент из массива и проверяю, начинается ли с него адрес улицы или нет??
4. Нет, это не то, что вы делаете: вы сравниваете первый символ
streetAddress
сstopWord
— каким бы это ни было. ПопробуйтеstreetAddress.toLowerCase().startsWith(secondWord.toLowerCase())
5. Позвольте мне попробовать это сейчас, в то же время, один из элементов массива второго слова имеет символ «/», вы подозреваете, что это может быть причиной «Объект не определен»