Этот метод удобен, когда нужно проверить, есть ли совпадения с регулярным выражением (аналогично RegExp#test).
Чтобы получить больше информации, используйте более медленный метод match (или родственный ему метод RegExp#exec).
Пример: Проверка на совпадение
function testinput(re, str){
if (str.search(re) != -1)
return true
else
return false
}
alert(testinput(/something/, "somestr")) // false
Автор: trikadin, дата: 30 апреля, 2010 - 15:52
#permalinkОбъясните, почему проверяется, не равно ли -1? И, по-моему, функция имела бы более лаконичный вид, выгляди так:
function testinput(re, str){return str.search(re) != -1 ? true : false}Автор: ArtTs (не зарегистрирован), дата: 24 февраля, 2011 - 12:10
#permalinkЧто ж за -1 возвращает .search когда не находит совпадения с регулярным выражением?
var InStrng = '00:0'; var RgXp = /^\d?\d:\d{2}$/; var ResChkSearch; // результат проверки совпадения с регулярным выражением методом .search var InStrngSearch = InStrng.search(RgXp); // -1 var InStrngSearchParseInt = parseInt(InStrngSearch); // -1 ResChkSearch = (-1 != -1) ? true : false; // false ResChkSearch = (InStrngSearch != -1) ? true : false; // true !? (мне так выдаёт) ResChkSearch = (InStrngSearchParseInt != -1) ? true : false; // false«…аналогично RegExp#test»
Тип возвращаемого — разный.
Спасибо.
С уважением, Цыганков Артём.
Автор: Мавио Кандис (не зарегистрирован), дата: 18 сентября, 2011 - 21:10
#permalinkКак в javascript сохранить в файл, например в формате ".txt", содержимое текстового поля? Меня интересует конкретно код.
Автор: Norm Iridium, дата: 9 января, 2014 - 14:06
#permalinkсегодня выловил перл от одного программиста:
cook = $.cookie('primer'); if (cook.search('nidle') >=0){ ... };кукиса не была объявлена, в итоге имеем "недопроверку" входных параметров
cook = null; if (cook.search('nidle') >=0){ ... };TypeError: cook is null (ожидается type String)
В итоге я вообще запретил юзать новичкам в отделе search, только test
if(/nidle/i.test($.cookie('primer'))){ ... }надеюсь, что обойдется без:
Автор: Michael911 (не зарегистрирован), дата: 2 июня, 2016 - 12:20
#permalinkЗдравствуйте. Помогите пожалуйста разобраться. Как в методе search указать несколько выражений для поиска. Можно ли в строке 04 var val = str.search(...) задать несколько параметров поиска, т.к. в данном случае ищется только первое слово 'sex', а остальные 'porno' и 'xxx' - нет. Или необходимо для каждого слова создавать отдельную переменную и свой search?
function checkWord(){
var text = prompt('Введите строку','');
var str= text.toLowerCase();
var val = str.search('sex' || 'porno' || 'xxx');
if (val != -1) {
alert('Ok');
} else {
alert('No');
}
}
checkWord();
Заранее благодарю.