我必须使用以下规则在字符串中转义两个特殊字符“和”。

例:-

  • Mercu“ry应该转换为” Mercu“” ry“
  • Mercu,ry应该转换为“Mercu,ry”
  • Mer“cu,ry应该转换为” Mer“” cu,ry“

  • 规则:
  • 含义逗号或双引号应使用双引号转义。
  • 通过将整个单词用双引号引起来,逗号将转义。
  • 如果找到双引号,则应在其双引号处添加
    位置。而且整个单词都应该包裹在double里面
    引号。

  • 请在javascript中建议正则表达式模式。

    最佳答案

    var test = [
        'Mercu"ry', 'Mercu,ry', 'Mer"cu,ry', 'Mercury'
    ];
    
    
    for (x in test) {
        var s = test[x];
        if (s.indexOf('"') != -1) {
            s = s.replace(/"/g, '""');
        }
    
        if (s.match(/"|,/)) {
            s = '"' + s + '"';
        }
    
        alert(s);
    }
    

    测试:http://jsfiddle.net/ZGFV5/

    尝试使用Mer""cury运行代码:)

    08-07 16:16