这个正则表达式在PHP中工作,但不适用于JavaScript

时间:2015-07-23 13:37:14

标签: javascript php regex

我在php中使用此代码:

php:

elseif (!preg_match('/^[A-Za-z][A-Za-z0-9]{4,31}$/', $username))
{
    echo "user name is not valid";
}
else
{
    echo "user name is OK!";
}

但我想在java scipt中使用这样的东西:

javascript:

if(!preg_match('/^[A-Za-z][A-Za-z0-9]{4,31}$/', username))
{
document.getElementById("u_status").innerHTML="user name is not valid";
}
else
{
document.getElementById("u_status").innerHTML="user name is OK";
}

请帮我在javascript中使用此rejex

3 个答案:

答案 0 :(得分:0)

Javascript不包含preg_match函数,它具有match()函数。

因此,此行if(!preg_match('/^[A-Za-z][A-Za-z0-9]{4,31}$/', username))需要更改为if(!username.match('/^[A-Za-z][A-Za-z0-9]{4,31}$/')) {

答案 1 :(得分:0)

javascript中的String对象具有match()功能,可以帮助您:

if(!username.match(/^[A-Za-z][A-Za-z0-9]{4,31}$/)){

} else {

}

答案 2 :(得分:0)

你必须:

  • 使用String#match代替preg_match()
  • 直接使用/<regex>/代替'/<regex>/'

试试这个:

if(!username.match(/^[A-Za-z][A-Za-z0-9]{4,31}$/){
    document.getElementById("u_status").innerHTML="user name is not valid";
} else {
    document.getElementById("u_status").innerHTML="user name is OK";
}