Javascript включает механизм регулярных выражений, доступ к которому осуществляется с помощью функций string.match()
, string.replace()
и string.split()
.
Например:
var mystring = "this is a sentence";
mystring = mystring.replace(/sentence/,'string');
var matches = mystring.match(/\b\w+\b/);
Это должно предоставить вамс по существу той же функциональностью, что и preg_match()
.
Так что сделайте ту же проверку, что и preg_match в вашем вопросе:
if(!phone.val().match(/^[0-9]{3}-|\s[0-9]{3}-|\s[0-9]{4}$/)) {
phone.addClass("needsfilled");
phone.val(phonerror);
}
Если вы абсолютно настаиваете на наличии функции с именем preg_match()
которая работает точно так же, как версия PHP, есть проект под названием PHPJS , который направлен на реализацию функций PHP в Javascript.Беглый взгляд на их сайт показывает, что, хотя в настоящее время у них нет полностью работающей preg_match()
реализации, у них есть незаконченная реализация , на которую вы, возможно, захотите взглянуть.Но, честно говоря, встроенная функция Javascript .match()
должна быть более чем достаточной.