使用javascript替换换行符和逗号

时间:2016-01-13 10:15:17

标签: javascript php jquery regex

我有脚本从文本框中获取地址,并希望删除给定地址中的所有逗号和换行符。我尝试使用2种方法但两种方法都给出了错误。请给出一些建议。

示例代码:

<textarea rows="3" cols="33" name="inc_Address" id="inc_address" required></textarea>

方法1

<Script>
    function tidyAddress() {
        addrArray = document.getElementById('inc_address').value.split(" ");
        var addrArray2 = addrArray.replace(/\n|\r|,/g, "");
    }
</script>

方法2

<Script>
    function trim(str) {
        return str.replace(/\n|\r|,/g, "");
    }

    function tidyAddress() {
        addrArray = document.getElementById('inc_address').value.split(" ");
        var addrArray2 = trim(addrArray);
    }
</script>
  

将错误视为未捕获的TypeError:addrArray.replace不是函数

2 个答案:

答案 0 :(得分:1)

replace()方法在字符串中搜索指定的值或正则表达式,并返回一个新的字符串,其中替换了指定的值。

您之前使用的是split(),它会返回一个数组,因此您会收到错误消息。

你应该尝试:

var addrString = document.getElementById('inc_address').value;
addrString.replace(/\n|\r|,/g, " ");

答案 1 :(得分:0)

您正尝试在数组

上应用字符串函数
 addrArray.replace(/\n|\r|,/g, ""); \\ wrong => addrArray is a array not string

trim(addrArray)  \\ where trim() returns string not array

替换数组

中的值
var result = [];
addrArray.forEach(function(value){
    result.push( value.replace(/[\n\r\,]+/g, ' ') );
})