JavaScript中移除*.*、*/*及街道地址分数地址的实现方法
解决地址中分数部分的移除问题
嘿,我来帮你搞定这个街道地址的分数处理需求!咱们可以通过正则表达式精准匹配并移除那些不需要的分数格式,同时保留地址里的有效部分。
思路拆解
你需要处理的两种分数格式:
- 分数形式:比如
1/2、3/4(带空格跟在数字后) - 小数形式:比如
.5、.75(直接跟在数字后)
我们可以用一个正则表达式同时匹配这两种模式,然后全局替换为空字符串,就能得到干净的地址了。
完整代码实现
var ele = document.getElementById('billing_address_1'); if (typeof(ele) !== 'undefined' && ele !== null) { function fractionalAddress() { let originalStr = ele.value; // 正则匹配两种分数格式:空格+数字/数字, 以及 .数字 let cleanedStr = originalStr.replace(/\s+\d+\/\d+|\.\d+/g, ''); ele.value = cleanedStr; } // 你可以根据需要触发这个函数,比如输入框失焦时 ele.addEventListener('blur', fractionalAddress); }
代码解释
\s+\d+\/\d+:匹配空格+数字+斜杠+数字的分数部分(比如" 1/2"、" 3/4")\.\d+:匹配小数点+一位或多位数字的小数部分(比如".5"、".75")|:表示逻辑“或”,同时匹配两种模式/g:全局匹配标志,确保把字符串里所有符合的部分都替换掉
测试一下你的例子:
- 输入
1600 1/2 Main St→ 输出1600 Main St - 输入
1600 3/4 Main Street→ 输出1600 Main Street - 输入
1600.5 Main St→ 输出1600 Main St - 输入
1600.75 3rd Street→ 输出1600 3rd Street
完全符合你的需求哦!
内容的提问来源于stack exchange,提问作者paulmiller3000
相关产品推荐
相关产品推荐

