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

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

name itl false type 根據 fun var ext body

在使用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表示引用前面匹配到的第一組字符串;

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