Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема в RegExp или jquery (https://javascript.ru/forum/misc/45006-problema-v-regexp-ili-jquery.html)

Top-tompak 10.02.2014 18:22

Проблема в RegExp или jquery
 
Всем привет! Есть документ:
<div id="item">адам</div>

И этот документу подключен jquery.
При попытке проверить через RegExp, не может найти:
var val = 'а[^a]*$';
var re = new RegExp(val, 'i');
if (re.test($('#item').text()) ) {
    alert('Ok!');
};

А если просто прописать там:
var val = 'а[^a]*$';
var re = new RegExp(val, 'i');
if (re.test('адам') ) {
    alert('Ok!');
};

То работает. В чем проблема? Пробовал использовать toString() не помогло

UPD: Исправил ошибку $(this) на $('#item')

рони 10.02.2014 18:25

Top-tompak,
а кто у вас this?

Top-tompak 10.02.2014 18:31

Не в этом проблема, просто ошибся здесь. Она все равно не работает :)

danik.js 10.02.2014 18:33

Цитата:

Сообщение от Top-tompak
При попытке проверить через RegExp, не может найти

Проверим?

<div id="item">адам</div>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
var val = 'а[^a]*$';
var re = new RegExp(val, 'i');
if (re.test($('#item').text()) ) {
    alert('Ok!');
};
</script>

рони 10.02.2014 18:35

Top-tompak,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>

<body>
<div id="item">адам</div>
<script>
    var val = 'а[^a]*$';
var re = new RegExp(val, 'i');
if (re.test($('#item').text()) ) {
    alert('Ok!');
};

</script>
</body>

</html>

рони 10.02.2014 18:36

Top-tompak,
кодировка ?

Top-tompak 10.02.2014 18:40

danik.js, большое спасибо! Тогда выложу проблему полностью:
<!DOCTYPE html>
<html>
<head>
    <title>Поиск</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width">
        <link href="style.css" rel="stylesheet" type="text/css">
        <script src="jquery.js" type="text/javascript"></script>
        <script src="main.js" type="text/javascript"></script>
    </head>
<body>
    <div class="wrap">
        <div class="question">акдбука</div>
        <div class="question">акажср</div>
        <div class="question">аксмронббложбжж</div>
    </div>
</body>
</html>


$(function() {
        $('.question').each(function(k, v) {
            //console.log('value - ' + $(this).text().toString());
            var val = 'а[^a]*$';
            var re = new RegExp(val, 'i');
            if (re.test($(this).text().toString()) ) {
                console.log('This ok - ' + $(this).text());
            };
        });
});

рони 10.02.2014 18:44

Цитата:

Сообщение от Top-tompak
var val = 'а[^a]*$';

что вы ищите таким образом????!!!!

Top-tompak 10.02.2014 18:52

там просто есть
<input type="text" name="question" placeholder="Вопрос">

и через keyup, получаю значение var val = question + '[^a]*$';
$(function() {
    $('input[name=question]').keyup(function() {
        console.log('keyup()');
        var question = $('input[name=question]').val();
        console.log('question - ' + question);
        $('.question').each(function(k, v) {
            //console.log('value - ' + $(this).text().toString());
            var val = question + '[^a]*$';
            var re = new RegExp(val, 'i');
            if (re.test($(this).text()) ) {
                console.log('This ok - ' + $(this).text());
            };

        });
    });
});

рони 10.02.2014 19:00

Цитата:

Сообщение от рони
Сообщение от Top-tompak
var val = 'а[^a]*$';
что вы ищите таким образом????!!!!

сам себе отвечу -- найти 1 русскую букву в любом месте русского слова -- остальное неимеет значения


Часовой пояс GMT +3, время: 17:15.