我正在尝试提取','逗号之前的所有内容。如何在JavaScript或jQuery中做到这一点?我试过了,但没有用。
1345 albany street, Bellevue WA 42344
我只想知道街道地址。
var streetaddress= substr(addy, 0, index(addy, '.'));
我正在尝试提取','逗号之前的所有内容。如何在JavaScript或jQuery中做到这一点?我试过了,但没有用。
1345 albany street, Bellevue WA 42344
我只想知道街道地址。
var streetaddress= substr(addy, 0, index(addy, '.'));
当前回答
var streetaddress = addy.substr(0, addy.indexOf('.'));
(你应该通读javascript教程,尤其是关于String函数的部分)
其他回答
您可以使用regex,因为这将为您提供字符串,如果它符合要求。代码应该是这样的:
const address = "1345 albany street, Bellevue WA 42344";
const regex = /[1-9][0-9]* [a-zA-Z]+ [a-zA-Z]+/;
const matchedResult = address.match(regex);
console.log(matchedResult[0]); // This will give you 1345 albany street.
我们来分析一下代码。[1-9][0-9]*基本上意味着第一个数字不能是0,必须是1-9之间的数字,下一个数字可以是0-9之间的任何数字,可以出现0次或多次,因为有时数字只是一个数字,然后它匹配一个空格。[a-zA-Z]基本上将所有大写字母匹配为小写字母,并且必须重复出现一次或多次。
如果你喜欢它简短,只需使用RegExp:
var streetAddress = /[^,]*/.exec(addy)[0];
//split string into an array and grab the first item
var streetaddress = addy.split(',')[0];
此外,我建议使用驼峰格式(streetAddress)来命名变量,以提高可读性。
var newString = string.substr(0,string.indexOf(','));
你也可以使用shift()。
var streetaddress = addy.split(',').shift();
根据MDN Web Docs:
shift()方法从数组中删除第一个元素并返回被删除的元素。此方法更改数组的长度。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift