2014-09-02 3 views
0

Я привязываю, чтобы проверить URL-адрес, но не полный URL-адрес. Я хочу проверить, содержит ли строка com или co.uk, а затем имеет /, а затем он имеет любые символы после /. Я не беспокоюсь о том, с чего все начинается. так что это будет матч co.uk/fewfwe или com/Gregeregex - как создать регулярное выражение в jquery

Это то, что я до сих пор:

  $(document).ready(function() { 
    $('#SavePage').click(function (event) { 
     var regex = '/com|co\.uk\/[a-zA-Z]/'; 
     var val = $('#URL').val(); 
     if (val.match(regex) == null) { 
      alert('test'); 
      event.preventDefault(); 

     } 
    }); 
}); 
+1

Вы хотите сгруппировать 'com | co \.uk' вот так: '/(com|co\.uk) \/[a-zA-Z] /' – RevanProdigalKnight

+0

@RevanProdigalKnight вам нужно добавить '+' после класса char. –

+0

Так что я делаю. К сожалению, кажется, что период редактирования для этого комментария прошёл. – RevanProdigalKnight

ответ

0

Вы можете попробовать ниже регулярное выражение. Это позволит использовать любой символ, кроме символа \n после последнего /.

(?:com|co\.uk)\/.+ 

DEMO

Попробуйте ниже регулярное выражение, только если вы хотите, чтобы алфавиты после последнего символа /.

(?:com|co\.uk)\/[A-Za-z]+ 

DEMO

0

Вы ставите регулярное выражение внутри строки, когда он должен быть RegExp буквальным.

Изменить

var regex = '/com|co\.uk\/[a-zA-Z]/'; 

в

var regex = /com|co\.uk\/[a-zA-Z]/; 
0

Правильный ответ сочетание Бен 's и Авинаш Радж' s ответы. Для этого вам нужно сделать оба изменения, и их будет недостаточно. Я также предлагаю начать с \., чтобы потребовать точку до com или co.uk.

var regex = /\.(?:com|co\.uk)\/[a-z]/i; 

Важно: Для этого потребуется только что .com/ или .co.uk/ следует, по крайней мере, одну букву. Это не требует только букв, только первое, что после / - это письмо. Это кажется странным требованием, и, вероятно, это не то, что вы пытаетесь сделать.

Вам не нужно, чтобы код + был на вашем примере кода, но реальная версия может нужна. Некоторые возможные варианты:

  • var regex = /\.(?:com|co\.uk)\/./i; - Позволяет любой символ после косые черты
  • var regex = /\.(?:com|co\.uk)\/[a-z]+$/i; - Позволяют только буквы после косых черт
  • var regex = /\.(?:com|co\.uk)\/[\w?&%=-]+$/i; - будет соответствовать большинству URIs
  • var regex = /\S+\.(?:com|co\.uk)\/\S+$/i; - Будет соответствовать всему URI пока нет пробелов.

Здесь может быть множество возможных вариантов, и правильный будет зависеть от особенностей вашей ситуации.

Смежные вопросы