正規表現の 3 つの部分を取得しようとすると、文字列が正規表現と完全に等しくない場合、エラーが返されますUncaught TypeError: Cannot read property '1' of null
。
1回の試行で正規表現の各部分を受け取る方法
var str = this.value;
var da = str.match(/(\+7)(\d{3})(\d{3})/);
var newStr = da[1] + "(" + da[2] + ")" + da[3];
str == +7 の場合は da[1] を、str == +7 922 の場合は da[2] をエラーなしで受け取るにはどうすればよいですか?