如何用另一个字符替换输入值中的字符?

时间:2018-04-16 08:17:06

标签: javascript jquery html

我一直试图找出一种方法来替换输入值中的部分字符串,但是还没有能够让它发挥作用。

输入字段如下所示:

<input type="text" value="{'value': 'e', 'provider': {'provider_id': '6', 'dmnid': '2446-0'}}" name="Link" />

我想用双qoute替换单qoute。 如何更改输入值。 我一直在编写下面的代码,但它不起作用,也无法识别单个代码。

这是我的片段:

&#13;
&#13;
$('input[name=Link]').val(function(index, value) {
   return value.replace(''', '"');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="text" value="{'value': 'eydpZCc6IwNDA5J30=', 'provider': {'provider_id': '6', 'dmnid': '2446-0'}}" name="Link" />
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:1)

您可以使用简单的正则表达式class Meta: model = **AddContent** fields = [ "content_name", ]

PS:/'/g使您的正则表达式全局化。

&#13;
&#13;
g
&#13;
$('input[name=Link]').val(function(index, value) {
   return value.replace(/'/g, '"');
});
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用/\'/g将所有单引号替换为全局级别的双引号。在表达式中使用引号时,使用\'\"将是安全的。

&#13;
&#13;
$('input[name=Link]').val(function(index, value) {
   return value.replace(/\'/g, '\"');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<input type="text" value="{'value': 'eydpZCc6IwNDA5J30=', 'provider': {'provider_id': '6', 'dmnid': '2446-0'}}" name="Link" />
&#13;
&#13;
&#13;

答案 2 :(得分:0)

当前代码存在的问题是:

  1. 你没有逃避字符串中的单引号。
  2. 即使您将其转义,它也只会替换目标字符串中第一次出现的单引号。
  3. 您可以使用带有g标志的RegEx来替换字符串中所有出现的单引号:

    $('input[name=Link]').val(function(index, value) {
       return value.replace(/'/g, '"');
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    
    <input type="text" value="{'value': 'eydpZCc6IwNDA5J30=', 'provider': {'provider_id': '6', 'dmnid': '2446-0'}}" name="Link" />

答案 3 :(得分:0)

以下是我如何使用JQuery:

<input type="text" value="{'value': 'e', 'provider': {'provider_id': '6', 'dmnid': '2446-0'}}" name="Link" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
var link=$('input[name=Link]');
link.val(link.val().split("'").join('"'));
</script>