var str = '9(055)3334849';
var allow = ['055','058'];
alert((new RegExp('^\\+?9[ -]?\\(?('+allow.join('|')+')\\)?[ -]?\\d{3}[ -]?\\d{2}[ -]?\\d{2}$')).test(str));
Второе не работает что-то
не работает что-то- совсем не ясно - что?
По-моему, работать со строками только через .search() .indexOf .substr() (относительно JS) и пр. аналогами в др. языках, вот это кретинизм ))
а ведь их можно использовать не только в скриптах(программах), а для обработки текста в текстовых редакторах, о вот это незаменимая вещь... из лапши сделать CSV с данными или например INSERT'ы в БД и т.п. и т.д.