Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串javascript中删除所有字符_Javascript_Jquery - Fatal编程技术网

从字符串javascript中删除所有字符

从字符串javascript中删除所有字符,javascript,jquery,Javascript,Jquery,您指定了一个字符串,通过将正则表达式括在引号中来替换该字符串。删除引号以指定正则表达式 $('.hourfield').focusout(function() { var h; var m; var timeStr = ""; var time = ""; var newFormat = ""; timeStr = $(this).val(); //Here I would like to remove all characters

您指定了一个字符串,通过将正则表达式括在引号中来替换该字符串。删除引号以指定正则表达式

$('.hourfield').focusout(function() {

    var h;
    var m;
    var timeStr = "";
    var time = "";
    var newFormat = "";

    timeStr = $(this).val();

    //Here I would like to remove all characters which isn't numbers
    timeStr = timeStr.replace("/[^0-9\.]+/g","");

    if(timeStr > 0) {

        h = timeStr.substr(0,2);
        m = timeStr.substr(2,2);

        newFormat = h+':'+m;

        //Add new values
        $(this).val(newFormat);
    }

});

您已通过将正则表达式括在引号中来指定要替换的字符串。删除引号以指定正则表达式

$('.hourfield').focusout(function() {

    var h;
    var m;
    var timeStr = "";
    var time = "";
    var newFormat = "";

    timeStr = $(this).val();

    //Here I would like to remove all characters which isn't numbers
    timeStr = timeStr.replace("/[^0-9\.]+/g","");

    if(timeStr > 0) {

        h = timeStr.substr(0,2);
        m = timeStr.substr(2,2);

        newFormat = h+':'+m;

        //Add new values
        $(this).val(newFormat);
    }

});
我对replace()规则做了一些小的修改 删除“点”,这是主要目的

所以现在它工作得很好,谢谢

我对replace()规则做了一些小的修改 删除“点”,这是主要目的


所以现在它工作得很好,谢谢

这里有什么问题?您编写的正则表达式,
“/[^0-9\.]+/g”
。你希望它是一个正则表达式,但你最终得到了一个字符串。如果在输入字段中插入“10.00”,则replace()函数似乎不会删除字符。我希望它在用“10:00”重新格式化之前删除点。我刚刚用你的建议更新了代码,如果你写“10.00”,然后单击其他地方,你会得到“10:.0”。它应该生成“10:00”。这里有什么问题?您编写的正则表达式,
“/[^0-9\.]+/g”
。你希望它是一个正则表达式,但你最终得到了一个字符串。如果在输入字段中插入“10.00”,则replace()函数似乎不会删除字符。我希望它在用“10:00”重新格式化之前删除点。我刚刚用你的建议更新了代码,如果你写“10.00”,然后单击其他地方,你会得到“10:.0”。它应该生成“10:00”。
$('.hourfield').focusout(function() {

    var h;
    var m;
    var timeStr = "";
    var CleanTimeStr = "";
    var newFormat = "";

    timeStr = $(this).val();
    CleanTimeStr = timeStr.replace(/[.]+/g,"");

    if(CleanTimeStr > 0) {

        h = CleanTimeStr.substr(0,2);
        m = CleanTimeStr.substr(2,2);

        newFormat = h+':'+m;

        //Add new values
        $(this).val(newFormat);
    }
});