JavaScript 正則表達式 string.replace( regex, "$1" );中“$1”的含義 及郵箱正則表達式


   在使用javascrip正則表達式時,發現可以根據正則表達式取字符串內的特定字符串的內容。舉例說明:

<!DOCTYPE html>
<html>
<head>
<meta charset="GB2312" />
<title>電子郵件地址驗證程序</title>
<script language="javascript" type="text/javascript">

    function check( email_address )
    {
        var regex = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
        if ( regex.test( email_address ) )
        {
            
            var user_name = email_address.replace( regex, "$1" );
            var domain_name = email_address.replace( regex, "$2" );
            var alert_string = "您輸入的電子郵件地址合法\n\n";
            alert_string += "用戶名:" + user_name + "\n";
            alert_string += "域名:" + domain_name;
            window.alert( alert_string );
            return true;
        }
        else
        {
            window.alert( "您輸入的電子郵件地址不合法" );
            return false;
        }
    }
</script>
</head>
<body style="text-align: center;">
<h1>電子郵件地址驗證程序</h1>
請輸入電子郵件地址:<input id="email_address" type="text" style="width: 300px;" /><br />
<input type="button" value="驗證電子郵件地址" onclick="return check(document.getElementById('email_address').value);" />
</body>
</html>

在例子中,var user_name = email_address.replace( regex, "$1" );對郵箱地址中的用戶名進行了截取。“$1”表示的是^([0-9A-Za-z\-_\.]+)

“$1”表示的是組引用,$1表示引用前面匹配到的第一組字符串;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM