0

javascriptのRegExを使用して、カラーコードから「#」文字を削除したい。試しましたが、スクリプトが機能していません...誰かが私のコードを見て、修正してください。

<html>
    <script>
      var input = "#a478ff";
      var color = input.match(/([a-f]|[A-F]|[0-9])\b*/gi);
      alert(color);
    </script>

</html>

ありがとう。

4

2 に答える 2

7

これには正規表現は不要です。次を使用してreplace()ください。

var input = "#a478ff";
var color = input.replace('#','');

または、部分文字列を使用できます。

var input = "#a478ff";
var color = input.substring(1);

#が存在しない可能性がある場合は、常に最初の文字を「削除」するため、replace()アプローチの信頼性が高くsubstring()なります。一方、は見つかったものだけを置き換えます。replace()

于 2012-08-17T23:26:24.370 に答える
2

しかし、本当に正規表現が必要な場合は、正しいものを次に示します。

var color = input.match(/[A-F0-9]*\b/i);
if (color) { alert(color[0]) };
于 2012-08-17T23:31:07.970 に答える