输入str替换

Input str replace

本文关键字:替换 str 输入      更新时间:2023-09-26

我想在输入中用这个m.替换这个/

我的输入看起来像:

<input type="text" class="text" name="address1" id="address1" value=""/>

在输入中,我写了一些类似street_name 5/47的东西,但在数据库中,我希望它像street_name 5 m。47

我已经试过了:

var replit = $('input[name=address1]').val().replace("/"," m. ");
$('input[name=address1]').val(replit);

$('input[name=address1]').val(function(index, value) {
     return value.replace('/', ' m. ');
});

但这不是我的工作,我是编程新手,请给我一些建议。

您可以使用input事件来跟踪输入字段中的用户更改,然后每次用户在字段中更改时,该事件都会用m.替换斜线/,就像符咒一样。

代码段

$('body').on('input', 'input[name=address1]', function() {
  $(this).val($(this).val().replace('/', ' m. '));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="text" name="address1" id="address1" value=""/>

或者,如果你不想让用户看到你所做的替换,你可以在submit事件中提交后替换斜杠:

$('body').on('submit', 'your_form_selector', function() {
     $(this).val($(this).val.replace('/', ' m. '));
});

希望这能有所帮助。


尝试

$('input[name=address1]').val($('#input-field-id').val().replace('/', ' m. '))

使用此

$('#address1').on('change',function()
{  
    $(this).val($(this).val().replace("/"," m. "));
});

尝试这个

$(document).ready(function(){
    $('input[name=preco]').blur(function(){
        var value = $(this).val();
        $(this).val(value.replace('/','m. '));
    });
});

这里有一个小提琴,展示了您的解决方案的工作情况:https://jsfiddle.net/e7n38wjz/2/如果这是你想要的,请告诉我。你知道你使用的JQuery版本是什么吗?这个JSFiddle被设置为使用JQUERY 1.6.4。

这是代码:

<input type="text" class="text" name="address1" id="address1" value="street_name 5/47"/>
<br>
<input type="text" class="text" name="address2" id="address1" value=""/>
// JS
var replit =  $('input[name=address1]').val().replace("/"," m. ");
$('input[name=address2]').val(replit);

这两个例子都有效请参见此处:https://jsfiddle.net/zreeLzo4/在这里:https://jsfiddle.net/q6awd8ng/

所以你需要更好地描述"不工作"对你意味着什么你没想到会发生什么?发生了什么你没有预料到的事情?

需要注意的一点是:如果提供字符串而不是正则表达式作为匹配器,则对字符串使用replace只会替换匹配的第一个实例。使用带有全局标志的正则表达式替换所有实例:

var startString = 'street_name 5/47 something/else';
var endString = startString.replace(/'//g," m. ");
console.log(endString); // <- street_name 5 m. 47 something m. else

如果您希望只有数据库中的条目应该使用'm'而不是'/',那么您应该考虑在将这些数据写入数据库的任何位置更改输入值。您应该考虑以以下方式使用.submit()事件:

<script>
    $(document).ready(function(){
        $("#detailForm").on("submit", function(){
            var value = $('input[name=address1]').val();
            value = value.replace("/", " m. ");
            $('input[name=address1]').val(value);
        });
    });
</script>