我怎样才能在jQuery中使用preg_match?

Mar*_*ary 5 javascript jquery phpjs

我可以使用preg_match来验证jQuery中的电话号码吗?这是我的代码不起作用

if (!preg_match("/^[0-9]{3}-|\s[0-9]{3}-|\s[0-9]{4}$/", phone.val() ))  {
            phone.addClass("needsfilled");
            phone.val(phonerror);
        }
Run Code Online (Sandbox Code Playgroud)

HTML <input id="phone" type="text" value="" name="phone" />

可以任何人帮助PLZ

Spu*_*ley 11

的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/);
Run Code Online (Sandbox Code Playgroud)

这应该为您提供与...基本相同的功能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);
}
Run Code Online (Sandbox Code Playgroud)

如果你绝对坚持使用一个preg_match()与PHP版本完全相同的函数,那么有一个名为PHPJS的项目,它旨在用Javascript实现PHP函数.快速浏览一下他们的网站,可以看出虽然他们目前还没有完全正常的preg_match()实现,但是他们还有一个未完成的实现,你可能想看一下.但坦率地说,内置的Javascript .match()函数应该绰绰有余.