2017-05-18 9 views
0

私はこのようなシナリオを持っています: 文字列を入力とし、文字列を別の文字列に更新するjQuery関数をビルドする必要があります。 入力はこれらのいずれかとすることができる。文字列jqueryからデータを抽出する

  • A="0"
  • A="0, 5"(基本的に "0、any_other_digits_different_from_0" ことができる)
  • A="0, 58"
  • A="58"(ゼロで始まっていない基本的に任意の数)

私はこの機能を更新したい:

  • 入力オプションナンバーワン(A="0")入力オプション番号2(A="58")である場合A="--"
  • を更新何もしていない場合、それを残すA="58"
  • 入力は、オプション番号3(A="0, 5"更新
  • A="5"にある場合入力がオプション番号4の場合(A="0, 58"A="58"

オプション4は2つ以上のディ"0"の後のgits。

これは何とか正規表現で行うことができますが、私はそれを動作させることができるものを一緒に置くことができていないようです。どんな助けもありがとうございます。

+1

例2と3の違いは何ですか? – Jan

答えて

1

文字列を分割して最後の値をとることができます。ゼロの場合は'--'を返します。

function getValue(a) { 
 
    return (+a.split(', ').pop() || '--').toString(); 
 
} 
 
    
 
console.log(getValue("0"));  // "--" 
 
console.log(getValue("0, 5")); // "5" 
 
console.log(getValue("0, 58")); // "58" 
 
console.log(getValue("58")); // "58"

最後の番号を検索する正規表現と提案

function getValue(a) { 
 
    return (+a.match(/\d+$/) || '--').toString(); 
 
} 
 
    
 
console.log(getValue("0"));  // "--" 
 
console.log(getValue("0, 5")); // "5" 
 
console.log(getValue("0, 58")); // "58" 
 
console.log(getValue("58")); // "58"

+1

私は最初のオプションを読んで(少なくとも私にとっては)読みやすくなっています。完璧に動作します。ありがとうございました。 – DoArNa

関連する問題