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, выражение не видит половины вариантов написания телефонов.