【问题标题】:This regex works in php but dont works in javascript此正则表达式适用于 php,但不适用于 javascript
【发布时间】:2015-10-13 20:34:57
【问题描述】:

我在 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 中使用这个拒绝

【问题讨论】:

  • 你只是想把代码从PHP转换成JS吗?
  • 我冒昧地更改了您的标题,将java 更改为javascript,因为这是您的问题所在,
  • 我们的解决方案对您没有帮助?如果是,请采纳。

标签: javascript php regex


【解决方案1】:

JavaScript 中的 String 对象有一个 match() 函数可以帮助您:

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

} else {

}

【讨论】:

    【解决方案2】:

    你必须:

    • 使用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";
    }
    

    【讨论】:

      【解决方案3】:

      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}$/')) {

      【讨论】:

        猜你喜欢
        • 2016-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多