Просмотр полной версии : Regular Expressions - поиск
Добрый день,
Надо сделать такое.
Есть начальный текст к примеру "Hello, this is Tigran's javascript function.".
В инпуте пишеться слово - Hello (оно же Regular Expression).
Если слово, написанное в инпуте было найденно в тексте, должно написать Found, если нет, то Not found. Все это должно работать при клике на кнопку.
Я сделал так :
var string = "Hello, this is Tigran's javascript function."
document.write(string);
function search() {
var regExp = /document.getElementById.input.value/;
var match = string.search(regExp);
if (match != -1) {
document.write("Found");
}
else {
document.write("Nothing found");
}
}
в ХТМЛ
<input id="input" type="text"></input>
<button onclick="search()">Search</button>
В итоге всегда отображает Not found. Не пойму, помогите.
Не пойму
Прокоментируй вот эту строку
var regExp = /document.getElementById.input.value/;
Marker, разницу улавливаешь?
var expr = new RegExp('\\w', 'ig');
// или
var expr = /\w/gi;
http://javascript.ru/RegExp
Marker, разницу улавливаешь?
var expr = new RegExp('\\w', 'ig');
// или
var expr = /\w/gi;
http://javascript.ru/RegExp
Мне нужно чтобы regExp было то что написано в input. Если не /document.getElementById.input.value/ то как?
Если не /document.getElementById.input.value/ то как?
Я тебе специально показал два варианта использования. ;)
И намекнул, что ты выбрал не тот вариант... Что тогда остаётся? :)
Ну я не понял как твои варианты использовать на моем примере.
var expr = new RegExp(document.getElementById.input.value);
так?
Marker, ну косинус же! (с)
var regExp = new RegExp(document.getElementById.input.value);
var string = "Hello, this is Tigran's javascript function."
document.write(string);
function search() {
var RegExp = new RegExp(document.getElementById.input.value);
var match = string.search(RegExp);
if (match != -1) {
document.write("Found");
}
else {
document.write("Nothing found");
}
}
<input id="input" type="text"></input>
<button onclick="search()">Search</button>
Не реагирует на клик на кнопку, ничего не произходит.
Marker, прокоментируй вот эту строку...
document.getElementById.input.value
Содержимое input-a не так ли?
Содержимое input-a не так ли?
А ты проверь. ;)
Вот тебе какой-никакой, а вариант...
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var string = "Hello, this is Tigran's javascript function."
document.write(string);
function s() {
var r = document.getElementById('i').value;
r =new RegExp(r);
alert(string.search(r)!=-1);
}
</script>
</head>
<body>
<input id="i" type="text" />
<button onclick="s()">Search</button>
</body>
</html>
"ig" - что вот это значит?
"ig" - что вот это значит?
Это написано в букваре...
http://javascript.ru/RegExp
Можно и без них...
Cпасибо, но возникла ещё одна проблема.
Я попытался true, false изменить -
var string = "Hello, this is Tigran's javascript function."
document.write(string);
function search() {
var text = document.getElementById('input').value;
text = new RegExp(text, "ig");
if (text != -1) {
alert("Found!");
}
else {
alert("Not Found!")
}
}
<input id="input" type="text"></input>
<button onclick="search()">Search</button>
Всегда показывает Found! - что не так)
Marker, ты видишь как я делаю примеры? Кому нужны твои огрызки? :)
Я попытался true, false изменить
Много кто уже пытался - это бесполезно. :D
if (text != -1)
Ты хоть понимаешь что с чем ты тут сравниваешь?
еслиб понимал, не спрашивал бы)
Marker, тогда пора начать читать хоть какой-то учебник по JS...
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot