0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 15
|
|
1 | |
Аналог xTrim в ASP?27.01.2011, 12:56. Показов 1610. Ответов 12
Метки нет (Все метки)
Добрый день, All.
Уж простите начинающего за глупый вопрос. Рисую табличку с кнопочками для редактирования. Имею незазорное желание к кнопочкам подвесить хинты с названиями (для каждой строки своё). Делаю это так: Код
lcName = rsCity('name').Value; Response.Write('<td ALIGN=CENTER>'+ '<a href='edit_city.asp&id='+rsCity('id').Value+ ''><img src='IMG/edit16.gif' ALT='Изменить '+lcName+ '' align='absmiddle' border=0></a>'+ '</td>'); Попытка 'запхапь' в lcName JS-код, который делал бы 'Trim(''+lcName+'')' успехов не принесла. Как решается такая ерунда? С уважением, Евгений.
0
|
27.01.2011, 12:56 | |
Ответы с готовыми решениями:
12
Аналог следующего кода ASP в ASP.NET Аналог ASP конструкции "<!--#include... " в ASP.NET Существует ли в ASP аналог EVAL? Аналог PictureBox в ASP.NET |
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
27.01.2011, 13:37 | 2 |
Функции xTrim есть в VBScript, а в JavaScript действительно отсутствуют. Проблема решается простой функцией:
Код
function trim(s) { return s.replace(/^s*(.+?)s*$/, '$1'); } Решение более соответсвующее идеологии JavaScript выглядит так: Код
String.prototype.trim = function() { return this.replace(/^s*(.+?)s*$/, '$1'); } Код
Response.Write(' xyz ПРВОР '.trim().replace(/s/g, '_'));
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 15
|
|
27.01.2011, 14:41 [ТС] | 3 |
Большое спасибо.
Работать то, оно работает. Только, если вас не затруднит, ткните меня носом, где почитать о магическом сочетании символов ...(/^s*(.+?)s*$/, '$1') в параметрах replace. Для меня - это 'пляшущие человечки' :-(. И еще один абстрактный вопрос. Часто ли встречаются подобные преимущества VBScript над JScript? А то, JS мне ближе C-подобным синтаксисом (в котором имею приличный опыт), а VB - непривычен, но это его единственный субъективный недостаток (для меня). Может быть имеет смысл чуть-чуть напрячься и сразу все делать по-уму (на VBScript). В доке я ничего, кроме туманных намёков (на то что для клиентских сценариев родной JS, а для серверных - VB) по этому поводу не нашел.
0
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
27.01.2011, 15:08 | 4 |
> где почитать о магическом сочетании символов
> (/^s*(.+?)s*$/, '$1') в параметрах replace. Это называется регулярное выражение (regular expression). Используется для сопоставления всей строки или ее части с нужным шаблоном. Очень мощная и полезная возможность. Описание есть в MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56reconIntroductionToRegularExpressions.asp Смысл второго аргумента ('$1') описан в документации метода replace http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsmthreplace.asp > Часто ли встречаются подобные преимущества VBScript над JScript? > А то, JS мне ближе C-подобным синтаксисом (в котором имею > приличный опыт), а VB - непривычен, но это его единственный > субъективный недостаток (для меня). Не часто, но тем не менее встречается. Например, в JavaScript труднее проверить был ли передан параметр в QueryString или Form. Совсем недавно искали решение для этого: http://relib.com/forums/topic.asp?id=843201 Отличается оработка n-мерных массивов возвращаемых из COM объектов. В частности метод GetRows объекта ADODB.Recordset. > Может быть имеет смысл чуть-чуть напрячься и сразу все делать > по-уму (на VBScript). Я бы не назвал это 'по уму'. Сам являюсь большим поклонником JavaScript, а не VBScript. Но вот из-за таких мелочей предпочитаю в проектах на ASP использовать именно VBScript. В конце концов ничего сложного в нем нет. К счастью в ASP.NET такой 'дискриминации' уже нет и можно спокойно писать на C#
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 15
|
|
27.01.2011, 17:30 [ТС] | 5 |
Спасибо еще раз.
С регулярными выражениями !!!почти!!! разобрался. >> function trim(s){return s.replace(/^s*(.+?)s*$/, '$1');} Imho, function trim(s){return s.replace(/(^s*)|(s*$)/g, '');} проще и, вроде, работает. С уважением, Евгений.
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 15
|
|
27.01.2011, 17:37 [ТС] | 6 |
В догонку.
А http://relib.com/forums/topic.asp?id=843201 - это я и был. Так кстати и остались костыли: var cParam = new String(); cParam += Request.QueryString('cFirstChar_'); if (cParam != 'undefined'){ ... А if (typeof(Request.QueryString('cFirstChar_')) != 'undefined'){ .... жить отказывается. Еще раз спасибо.
0
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
27.01.2011, 17:40 | 7 |
> А http://relib.com/forums/topic.asp?id=843201 - это я и был.
Я это понял только после отправки сообщения К сожалению не знаю чем тут помочь. Сам как-то мучался, но толкового решения так и не получил.
0
|
2 / 2 / 1
Регистрация: 04.12.2010
Сообщений: 216
|
|
27.01.2011, 21:28 | 8 |
А зачем такое сложное регулярное выражение?
Так не проще: s = s.replace(/s+/g,''); ??? А можно и подстраховаться на случай, если s not defined: s = string(s).replace(/s+/g,''); P.S. Лучше всего про regular expressions читать а в книгах по Perl. Рекомендую 'Изучаем Perl' ('Learning Perl')
0
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
30.01.2011, 09:53 | 9 |
> А зачем такое сложное регулярное выражение?
> Так не проще: > s = s.replace(/s+/g,''); ??? Потому что нам нужно удалить только пробелы в начале и конце строки. А твой пример удалит все пробелы.
0
|
2 / 2 / 1
Регистрация: 04.12.2010
Сообщений: 216
|
|
30.01.2011, 16:18 | 10 |
Да, точно, забыл об этом. Но все равно, я сторонник простоты:
s = string(s).replace(/^s+/,''); s=s.replace(/s+$/,'');
0
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
30.01.2011, 16:31 | 11 |
Простота понятие относительное.
0
|
2 / 2 / 1
Регистрация: 04.12.2010
Сообщений: 216
|
|
30.01.2011, 16:43 | 12 |
Согласен. Тут два вместо одного, так что простота относиткльная полочается
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 15
|
|
30.01.2011, 18:31 [ТС] | 13 |
А так всего один:
s.replace(/(^s*)|(s*$)/g, '')
0
|
30.01.2011, 18:31 | |
30.01.2011, 18:31 | |
Помогаю со студенческими работами здесь
13
Аналог элемента textarea в asp.net Есть ли в ASP аналог Access функции Nz()? Подскажите аналог метода Get из PHP в ASP.NET Аналог php-функции echo на ASP.NET Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |