フォームで電話番号の判定を行いたいのですが。。。

– 現在の状態
ハイフンなしで判定(別処理でハイフン除去)
0から始まり、9桁~10桁ならOK。

phone: function( element ) {

var reg = /^0[\d]{9,10}$/;

var val = $( element ).val().trim();

if ( !val ) { return false; }

return reg.test(val);

}

初心者のため色々試してはいるのですが、うまくいきません。
var reg = /^0[5789]0+[\d]{8}|^0[\d]{9,9}$/;

■質問させていただきます。
固定電話、携帯電話ごとにチェックしたいのですが、どのように行えばいいでしょうか。アドバイスを頂ければ幸いです。

条件は
①携帯電話 050、070、080、090から始まる場合は 12桁入力されていないとNG

②固定電話 10桁でないとNG。又は上記①以外は10桁のような形

何とぞ、宜しくお願いいたします。

Nano Yukoさん
cstapの瀧ヶ平です。

if(/^0[5789]0\d{8}$/.test(phonenumber)){
  // ①の場合の処理
} else if(phonenumber.length === 10){
  // ②の場合の処理
} else {
  // どちらにも一致しない場合の処理
}

というような処理ではどうでしょうか?(携帯電話番号は11桁のものしかない様なので11桁のという風に解釈しましたが問題ないでしょうか?)