Удалить кириллицу
Здравствуйте
Вставляю в див #marka значение из ячейки текущей строки таблицы при этом нужно: убрать кириллицу, которая находится в круглых скобках (вместе со скобками), например: (пустое) убрать кириллицу+цифры, которые находятся в круглых скобках (вместе со скобками), например: (дд - 2 окна) убрать кириллицу без скобок, например: с молдингом если в круглых скобках будет смесь кириллицы/латиницы - убрать вместе со скобками делаю так: <div id="marka"></div> <table id="sf" style="width: 700px;" border="1" cellspacing="0" cellpadding="0"> <tr> <td>1</td> <td><a href="javascript:void(0)" class="ecodehref">правильно</a></td> <td>Audi 80 (SED) (01-04) (пустое) с молдингом (дд - 2 окна)</td> <td>79-86</td> </tr> <tr> <td>2</td> <td><a href="javascript:void(0)" class="ecodehref">не правильно</a></td> <td>Audi 100 прозрачное (99-04) с молдингом (дд - 2 окна) (номер - vin)</td> <td>80-90</td> </tr> <tr> <td>3</td> <td><a href="javascript:void(0)" class="ecodehref">не правильно</a></td> <td>стекло Mazda 626 5D HBK прозрачное vin (vin - номер)</td> <td>88-92</td> </tr> </table> <script type="text/javascript"> $('.ecodehref').click(function(){ $('#marka').text($(this).parents('tr').find('td:eq(2)').text().replace(/\([а-яёА-ЯЁ\s\W]+[0-9\s\W]+[а-яёА-ЯЁ]+?\)/g, '')); }); </script> регулярка справляется с задачей только со значением ячейки первой строки таблицы, во 2 и 3 строке часть кириллицы остается помогите, пожалуйста, правильно написать регулярное выражение |
rodiony4,
так? <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $(".ecodehref").click(function(event) { event.preventDefault(); var reg = /\(.*?\)/g, rus = /[\u0430-\u044f\u0451]/ig, str = $(this).parent().next().text(); str = str.replace(reg, function(a) { return rus.test(a) ? "" : a }).replace(rus, ""); $("#marka").text(str) }) }); </script> </head> <body> <div id="marka"></div> <table id="sf" style="width: 700px;" border="1" cellspacing="0" cellpadding="0"> <tr> <td>1</td> <td><a href="javascript:void(0)" class="ecodehref">правильно</a></td> <td>Audi 80 (SED) (01-04) (пустое) с молдингом (дд - 2 окна)</td> <td>79-86</td> </tr> <tr> <td>2</td> <td><a href="javascript:void(0)" class="ecodehref">не правильно</a></td> <td>Audi 100 прозрачное (99-04) с молдингом (дд - 2 окна) (номер - vin)</td> <td>80-90</td> </tr> <tr> <td>3</td> <td><a href="javascript:void(0)" class="ecodehref">не правильно</a></td> <td>стекло Mazda 626 5D HBK прозрачное vin (vin - номер)</td> <td>88-92</td> </tr> </table> <script type="text/javascript"> </script> </body> </html> |
рони, все супер, спасибо!
еще нужно добавить в див значение четвертой ячейки, как есть, без регулярки добавляю, но не получается $("#marka").text(str)+' '+$(this).parents('tr').find('td:eq(4)').text()+' г.в.'; |
rodiony4,
есть строка str, к ней нужно что-то добавить ... а не к обьекту |
рони, добавляю к строке str, но что-то делаю не так
str = str.replace(reg, function(a) { return rus.test(a) ? "" : a }).replace(rus, "")+' '+($(this).parent('tr').find('td:eq(3)').text()+' г.в.'); |
rodiony4,
$("#marka").text(str+' '+$(this).parents('tr').find('td:eq(3)').text()+' г.в.'); str = str.replace(reg, function(a) { return rus.test(a) ? "" : a }).replace(rus, "")+' '+($(this).parents('tr').find('td:eq(3)').text()+' г.в.'); |
рони, большое спасибо, вы мне здорово помогли!
|
Цитата:
почему были использованы не очень наглядные юникодные коды символов какие-то есть причины не использовать просто rus = /[а-яё]/ig ? |
Pavel M.,
особых причин в данном случае нет |
Если html страница закодирована в Windows-1251, то для замены кириллицы в ячейках таблиц этой страницы
/[а-яё]/ig видимо, тоже подойдет :-) |
Часовой пояс GMT +3, время: 20:35. |