alert(
"+71233332433434434344;87474883839399;8(757) 94-994949-4994;8-0505-99595-5885858"
.replace(/\+7/g, "8")
.replace(/\(|\)|-|\s+/g, "")
)
прогони даные по этой фигне, а потом сматчишь обычной. Если сразу матчить, будет зело сложная конструкция, что-то типа /(+7|8|)?\(?(\d-?){3}\)?(\d-?){7... ненадежно это все, да и лень мне цифры считать для образца
![](images/smilies/smile.gif)
. Если запостишь кусок из базы с верными и неверыми случаями, полный комплект(и пометь как-нибудь верные и неверные), может напишу.