Javascript includes a regular expression engine, which is accessed via the string.match()
, string.replace()
and string.split()
functions.
For example:
var mystring = "this is a sentence";
mystring = mystring.replace(/sentence/,'string');
var matches = mystring.match(/\b\w+\b/);
That should provide you with essentially the same functionality as preg_match()
.
So to do the same validation as the preg_match in your question:
if(!phone.val().match(/^[0-9]{3}-|\s[0-9]{3}-|\s[0-9]{4}$/)) {
phone.addClass("needsfilled");
phone.val(phonerror);
}
If you absolutely insist on having a function called preg_match()
which works exactly like the PHP version, there is a project called PHPJS, which aims to implement PHP functions in Javascript. A quick look at their site shows that although they don't currently have a fully working preg_match()
implementation, they have an unfinished implementation which you may want to look at. But frankly, the built-in Javascript .match()
function should be more than sufficient.
preg_match
is a PHP function, not a JavaScript function, hence you cannot use it. You should have a look here: developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions – Irretrievable