簡體   English   中英

使用正則表達式進行表單驗證

[英]Form Validation With Regex

我寫了一個函數來驗證密碼是否有效。 我遇到的唯一問題是弄清楚為什么我用JavaScript編寫的這種模式在使用密碼測試時沒有評估為真:'SteveRogers#256'。 這是我宣布正則表達式模式的問題嗎?

PHP

function check_password($pass_word)
{
    $pattern = "#.*^(?=.{8,15})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).*$#";

    return (preg_match($pattern, $pass_word));
}

JavaScript的

function check_password(pass_word) {
    var pattern = new RegExp("#.*^(?=.{8,15})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).*$#");

    return pattern.test(pass_word);
}

在Javascript中刪除正則表達式分隔符,因為new RegExp在構造函數中獲取String。 正確的Javascript代碼應該是:

var pattern = new RegExp("^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?\\W).{8,15}$");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM