Javascript 需要在每个字段后面加逗号,并进行适当的验证
我有3个字段供用户输入。。说textbox1,textbox2,textbox3。如果值不是空的,我需要这样表示它们: 奥尔巴尼,纽约,美国 最后一个文本框值之后不应包含逗号。我可以用关联数组来做,但问题是我找不到一种方法来检测它是否是最后一个值,然后逗号就不需要出现了Javascript 需要在每个字段后面加逗号,并进行适当的验证,javascript,string,Javascript,String,我有3个字段供用户输入。。说textbox1,textbox2,textbox3。如果值不是空的,我需要这样表示它们: 奥尔巴尼,纽约,美国 最后一个文本框值之后不应包含逗号。我可以用关联数组来做,但问题是我找不到一种方法来检测它是否是最后一个值,然后逗号就不需要出现了 var addressObjToFormat= {}; addressObjToFormat.City = $("#companyentry").find("#City").val(); addressO
var addressObjToFormat= {};
addressObjToFormat.City = $("#companyentry").find("#City").val();
addressObjToFormat.State = $("#companyentry").find("#State").val();
addressObjToFormat.Country = $("#companyentry").find("#Country").val();
var formattedAddress = $Utils.mapInfoMarkerAddressFormatter(addressObjToFormat);
mapInfoMarkerAddressFormatter = function mapInfoMarkerAddressFormatter(arraddressObjToFormat) {
var formattedAddress = '';
for (var key in addressToFormatObj) {
if (addressToFormatObj.hasOwnProperty(key)) {
if (addressToFormatObj[key] != '') {
formattedAddress += addressToFormatObj[key] + ',';
}
}
}
alert(formattedAddress);
}
以上代码给出的结果如下:
美国纽约州奥尔巴尼
孟买,马哈尔施特拉,印度
我想要的是,如果文本框为空,它应该能够检查它是否是最后一个字段,并在每个值后面相应地放置逗号。或者有更好的方法吗?您可以使用substring
或
您可以将所有值保存在一个数组中并使用array.join例如
var arr = ['item1','item3','item3','item4'];
formattedAddress = arr.join(' ,');
可以使用子字符串
或
您可以将所有值保存在一个数组中并使用array.join例如
var arr = ['item1','item3','item3','item4'];
formattedAddress = arr.join(' ,');
数组函数join()使用其第一个参数作为粘合剂,将其放入数组段之间
数组函数join()使用它的第一个参数作为粘合剂,在数组段之间插入。有多种方法可以做到这一点 在所有处理之后,您可以使用正则表达式修剪最后一个“
,
”
formattedAddress = formattedAddress.replace (/,$/g, "");
或者,您可以将字符串推入一个数组,然后将它们全部加入
var tmp = [];
for (var key in addressToFormatObj) {
if (addressToFormatObj.hasOwnProperty(key)) {
if (addressToFormatObj[key]) { // your condition
tmp.push(addressToFormatObj[key]);
}
}
}
var formattedAddress = tmp.join(',');
有多种方法可以做到这一点
在所有处理之后,您可以使用正则表达式修剪最后一个“,
”
formattedAddress = formattedAddress.replace (/,$/g, "");
或者,您可以将字符串推入一个数组,然后将它们全部加入
var tmp = [];
for (var key in addressToFormatObj) {
if (addressToFormatObj.hasOwnProperty(key)) {
if (addressToFormatObj[key]) { // your condition
tmp.push(addressToFormatObj[key]);
}
}
}
var formattedAddress = tmp.join(',');
非常感谢你,它成功了。你能解释一下正则表达式是如何工作的吗?$表示字符的结尾。“,$”表示字符串末尾出现的“,”。我们将用一个空字符串替换它。请参见此处:它在某些条件下失败,例如lokhandwala和andheri(w),“lokhandwala和andheri(w),”。替换(/,$/g,”),为我返回“lokhandwala和andheri(w)”。您能告诉我您的输入和输出吗?如果任何输入有多个逗号,它将失败,例如:“lokhandwala,andheri(w),,,,,”将返回字符串,并将少一个尾随逗号作为“lokhandwala,andheri(w),,,,,,,,,,,,”非常感谢您的帮助。你能解释一下正则表达式是如何工作的吗?$表示字符的结尾。“,$”表示字符串末尾出现的“,”。我们将用一个空字符串替换它。请参见此处:它在某些条件下失败,例如lokhandwala和andheri(w),“lokhandwala和andheri(w),”。替换(/,$/g,”),为我返回“lokhandwala和andheri(w)”。您能告诉我您的输入和输出吗?如果任何输入有多个逗号,它将失败,例如:“lokhandwala,andheri(w),,,,,”将返回字符串,并将少一个尾随逗号作为“lokhandwala,andheri(w),,,,,,,”