我有脚本从文本框中获取地址,并希望删除给定地址中的所有逗号和换行符。我尝试使用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不是函数
答案 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, ' ') );
})