Проверка строки на соответствие регулярному выражению
Есть список строк которые нужно проверить регулярным выражением на валидность.
Строка следующего типа: Ab1 @any_text.text instagram.com/anylink Она состоит из 3-ех частей, между ними может быть сколько угодно пробелов и/или пропусков строк(enter). Первый элемент всегда должен содержать значение Ab1. Второй элемент всегда должен начинаться с символа @ и сразу за ним(без пробела) слово которое может состоять из латинских букв, цифр и символов _ и . Пример:@sample.text или @sample2_textили @sample3_text.text2. Третий элемент это ссылка на инстаграм, она может содержать https:// а может и не содержать, но обязательно надо проверить чтобы присутствовало instagram.com/ и после этого не пустота. Я пишу на PHP и мне нужно регулярное выражение которым можно проверить на валидность строку которую я описал выше. |
PHPЗапустить
<?php $string = "Ab1 @any_text.text https://instagram.com/anylink"; if(preg_match('/^\s*Ab1\s+@[\w.]+\s+(?:https?\:\/\/|)instagram\.com\/[^\s]+\s*$/m', $string)) { echo 'ok'; } JS var string = "Ab1 @any_text.text https://instagram.com/anylink"; if(/^\s*Ab1\s+@[\w.]+\s+(?:https?\:\/\/|)instagram\.com\/[^\s]+\s*$/m.test(string)) { alert("ok"); } |
WGN,
function fn(str) { var reg = [/Ab1/, /^@[\w\.]+$/, /^(https?:\/\/)?instagram\.com\/\S+$/]; str = str.trim().split(/\s+/); return str.length == 3 && str.every(function(s,i) { return reg[i].test(s) }) } var str = 'Ab1 @any_text.text instagram.com/anylink'; var ok = fn(str); alert(ok); //true str = 'Ab1 @any_text.text instagram.com/'; ok = fn(str); alert(ok); //false str = 'Ab1 @sample3_text.text2. instagram.com/12345'; ok = fn(str); alert(ok); //true |
Часовой пояс GMT +3, время: 15:47. |