能用Javascript 写一段可以提取字符串中的姓名手机号邮编以及收货地址,收货地址包含省市区信息和详细地址的代码吗
时间: 2024-06-12 18:07:33 浏览: 131
当然可以,以下是一段可以提取字符串中的姓名、手机号、邮编以及收货地址(包含省市区信息和详细地址)的 JavaScript 代码:
```javascript
const str = '收件人:张三,联系电话:13812345678,收货地址:浙江省杭州市西湖区文三路 888 号,邮编:310000。';
// 提取姓名
const nameRegexp = /收件人:(.+?),/;
const nameMatch = str.match(nameRegexp);
const name = nameMatch ? nameMatch[1] : '';
// 提取手机号
const phoneRegexp = /联系电话:(\d{11}),/;
const phoneMatch = str.match(phoneRegexp);
const phone = phoneMatch ? phoneMatch[1] : '';
// 提取邮编
const postcodeRegexp = /邮编:(\d{6})。/;
const postcodeMatch = str.match(postcodeRegexp);
const postcode = postcodeMatch ? postcodeMatch[1] : '';
// 提取收货地址
const addressRegexp = /收货地址:(.+?),邮编/;
const addressMatch = str.match(addressRegexp);
const addressStr = addressMatch ? addressMatch[1] : '';
// 将收货地址拆分为省市区和详细地址
const addressArray = addressStr.split(/省|市|区/);
const province = addressArray[0];
const city = addressArray[1];
const district = addressArray[2];
const detailAddress = addressArray.slice(3).join('');
console.log(name); // 张三
console.log(phone); // 13812345678
console.log(postcode); // 310000
console.log(province); // 浙江
console.log(city); // 杭州
console.log(district); // 西湖
console.log(detailAddress); // 文三路 888 号
```
需要注意的是,这段代码假设输入字符串中的每个信息段落的格式都是固定的。如果输入字符串的格式不固定,那么提取信息的正则表达式也需要相应地进行调整。
阅读全文