Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярные выражения (https://javascript.ru/forum/misc/63684-regulyarnye-vyrazheniya.html)

BARABANTEMO 22.06.2016 19:37

Регулярные выражения
 
Ещё раз прошу Вашей помощи есть такой скрипт
<script type="text/javascript">$("input[name='title']").on("input",function() {if (this.value.length > 100) {this.value = this.value.substr(0,100); window.alert("Название не должно содержать больше 100 символов");} $("input[name='tags']").val(verm($(this).val()));}); function verm(str) {var ars = str.replace(/‛|‚|‟|„|«|»|“|”|<|>|‘|’|‹|›|❝|❞|❛|❜|-|=|_/gi," ").replace(/([.:\\\/+!?1234567890@#$%^&*|()])|(\[|\])|(^\s+)|(\s+$)/gi," ").replace(/\s+/gi,", ").replace(/,,/gi,","); return ars;}</script>

который берёт из названия материалов добавляемой новости на ucoz слова и переносит их в поле теги - как докрутить чтобы если слово состоит меньше чем из 3 символов его игнорировало
я нашёл в инете что то типа (/\s.{0,3}\s/g,' ') но это не то - всем спасибо

Decode 22.06.2016 21:25

BARABANTEMO,
$("input[name='title']").on("input",function() {
  if (this.value.length > 100) {
    this.value = this.value.substr(0,100);
    window.alert("Название не должно содержать больше 100 символов");
  } 
  
  if (this.value.length < 3) return;
  
  $("input[name='tags']").val(verm($(this).val()));
});

function verm(str) {
  var ars = str.replace(/‛|‚|‟|„|«|»|“|”|<|>|‘|’|‹|›|❝|❞|❛|❜|-|=|_/gi," ")
               .replace(/([.:\\\/+!?1234567890@#$%^&*|()])|(\[|\])|(^\s+)|(\s+$)/gi," ")
               .replace(/\s+/gi,", ")
               .replace(/,,/gi,",");
  
  return ars;
}

BARABANTEMO 22.06.2016 21:45

попробовал не работает переносит и 1 и 2 и 3 символа

BARABANTEMO 23.06.2016 11:18

function tgtrimm(str){
    var str = str.replace(/\s.{0,3}\s/g,' ').replace(/([.,:\/!1234567890@#$%^&*()\u9999])|([|])|(^\s+)|(\s+$)/g,'').replace(/\s+/g,' ').replace(/\s+/g,', ');
    return str;
}

$('input[name="title"]').keyup(function(){
    $('input[name="tags"]').val(tgtrimm($(this).val()));
});


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