Как извлечь подстроку из строки в Jquery - PullRequest
0 голосов
/ 10 октября 2010

Я хочу написать сообщение в текстовой области и иметь возможность ссылаться на человека, используя символ @.

например,

Пожалуйста, позвоните @Larry David относительно чего-либо

При отправке формы я хочу извлечь имя человека, то есть Ларри Дэвида.

Как мне извлечь эту строку с помощью Jquery?

Ответы [ 2 ]

5 голосов
/ 10 октября 2010

Что если имя человека Larry David Regarding?Я думаю, что лучшее, что вы можете здесь сделать, это извлечь Larry:

var result = $('#textareaId').val().match(/\@(\w+)/);
if (result != null && result.length > 1) {
    alert(result[1]);
}
1 голос
/ 10 октября 2010

Ну, чтобы соответствовать тому, что вы просили, это будет:

var str = "Please call @Larry David regarding something";
var re = /@(\w+\s\w+)/;

var name = str.match(re);
if(name){
    alert(name[1])
}

Но это не удастся для имен, таких как foo-bar, O'Donald и т. Д.

Регулярное выражение, такое как

var re = /@(\w+\s[\w-']+)/;

будет немного лучше, но все равно потерпит неудачу с другими именами.

Без лучшего способа выяснить, где заканчивается имя, у вас могут возникнуть ошибки с именами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...