最近確認したバグは、JS の Replace メソッドが原因で、文字列内に置換が必要な箇所がある場合、通常、Replace の最初のパラメータが使用されます。メソッドに文字列が渡されると、最初の文字のみが置換されます。コードは次のとおりです:
var str = "0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E4D-8800-AE31130B6F5D";
alert(str.replace(",","','"));
上記のコードは、カンマで区切られた GUID のカンマを「,」に置換することを目的としていますが、実際には最初のカンマのみが置換されます。
この問題を解決するには、replace の最初のパラメータに通常のメソッドを使用するだけです。コードは次のとおりです。
var reg = new RegExp(",","g");
var str = "0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E4D-8800-AE31130B6F5D";
alert(str.replace(reg,"','"));
結果は次のとおりです:
以上が本文の全内容です。JavaScriptを学習する皆さんのお役に立てれば幸いです。