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(/w+/);
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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…