Показать сообщение отдельно
  #15 (permalink)  
Старый 08.07.2021, 22:27
Профессор
Отправить личное сообщение для Vaska Посмотреть профиль Найти все сообщения от Vaska
 
Регистрация: 08.05.2017
Сообщений: 178

ksa,
ни первое, не второе выражение не работает,
ни в PHP
$exge = '/\+?[\d\s\-\.()]{11,19}(?=[\n])/m';
$html = preg_replace($exge, '', $html);

не в JS.
$.validator.addMethod('removeTel', function(value, element) {
	return !/\+?[\d\s\-\.()]{11,19}(?=[\n])/gm.test(value)
},
'Размещать телефоны запрещено');

Хотя в песочнице, видит почти все варианты написания телефонов, кроме варианта +555 (999) 555-66-29. Его не видит.

Если одно и то же выражение не работает одинаково и одновременно в PHP и в JS, тогда это не то, что мне нужно.
Выражение, которое я хотел бы исправить, из первого сообщения, - работает одинаково и там и там.

В первом выражении вообще ошибка /[+\d\u0020\-\.()]{5,}(?=[\n])/gm
Вместо u, возможно, предполагалось w.
Даже исправив ошибку /[+\d\w0020\-\.()]{5,}(?=[\n])/gm, выражение не видит половины вариантов написания телефонов.

Последний раз редактировалось Vaska, 09.07.2021 в 08:06.
Ответить с цитированием