Как настроить длину в окне поиска

Если пользователь вводит hey!, вы хотите отобразить hey! или hey!? Если первый, бежать менее-thans и html-encode амперсанды (и, возможно, кавычки), и все в порядке. Модификация вашего кода для реализации второго варианта будет:

replaceAll("\\<[^>]*>","")

, но вы столкнетесь с проблемами, если пользователь введет что-то искаженное, например .

Вы можете также проверьте JTidy , который будет анализировать «грязный» html-ввод и должен дать вам способ удалить теги, сохраняя текст.

Проблема с попыткой разделить html что у браузеров очень мягкие парсеры, более мягкие, чем любая библиотека, которую вы можете найти, поэтому, даже если вы сделаете все возможное, чтобы стричь все теги (используя метод замещения выше, DOM-библиотеку или JTidy), вы еще / g1] необходимо обязательно закодировать любые оставшиеся специальные символы HTML, чтобы обеспечить безопасность вывода.

0
задан Jack Bashford 31 March 2019 в 00:47
поделиться

2 ответа

Просто добавьте еще одно условие:

if (search != "" && (search.startsWith("th") || search.length >= minlength)) {...}
0
ответ дан Jack Bashford 31 March 2019 в 00:47
поделиться

Не уверены, что вы подразумеваете под «th» вместе - «th» следует считать одной буквой?

Для минимальной длины вы можете проверить так:

$('#search_text').keyup(function(){
  var search = $(this).val();
  var minlength = 3;
    if (event.key === "Enter" && search.length >= minlength) {
      load_data(search);
    }
  });
});

] Если вы хотите посчитать 'th' одной буквой:

var count = (search.match(/th/g) || []).length // returns no. of occurrences of 'th'
var totalCount = search - count
0
ответ дан xenetics 31 March 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: