Удалить кириллицу
Здравствуйте
Вставляю в див #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, время: 09:13. |