Проверка строки на соответствие регулярному выражению
Есть список строк которые нужно проверить регулярным выражением на валидность.
Строка следующего типа: 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, время: 14:23. |