【发布时间】:2016-09-10 06:38:55
【问题描述】:
此 Javascript 从 HTML 表单中获取 ISBN(10-13 位数字)列表,并为每个列表打开一个新选项卡,在该选项卡中启动亚马逊上的搜索请求。在表格中输入的 ISBN 有一个换行符,每个 ISBN 旁边都有其书籍条件描述。
我需要 Javascript 来搜索 JUST ISBN 并在启动亚马逊搜索之前修复任何格式,因此它不会破坏搜索。
在下面的表单示例中,它需要搜索这三个 ISBN:0321973615、0 321 973 615(不带空格)和 0321973615。它包括空格、额外的数字,如“12-15 页,25%”,以及不得搜索所有多余的词,因为它们会破坏搜索。
0321973615 12-15 pages highlighted
0 321 973 615 good condition
13:0321973615 25% highlighting
小提琴:https://jsfiddle.net/09vfmhep/1/
//the input box.
var input = document.getElementById('numbers');
//adding an event listener for change on the input box
input.addEventListener('input', handler, false);
//function that runs when the change event is emitted
function handler () {
var items = input.value.replace(/\s/g, '').replace(/\r?\n/g, ' ').split(' ');
length = items.length;
console.log('your collection', items);
for (var i = 0; i < length; i++) {
if ( items[i] && !isNaN(items[i]) ) {
console.log('opening page for isbn ', items[i])
openPage(items[i]);
}
}
}
//opens the tab for one isbn number
function openPage (isbn) {
var base = 'https://www.amazon.ca/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords='
window.open(base + isbn)
}
<h1>Amazon Bulk ISBN Search</h1>
<p>... note, after paste you may need to click outside the text area or tab out to fire the change event.</p>
<textarea id=numbers placeholder="paste isbn numbers as csv here">
</textarea>
如何从文本中提取 ISBN 编号,不带任何空格?
【问题讨论】:
-
问题是什么
-
不好。您正在做的是总体描述您的业务问题。但是,您应该努力过滤掉与您面临的问题无关的信息,并且非常简洁和明确地说明问题是什么以及您无法解决什么。列出您尝试过的方法以及失败的原因。
标签: javascript regex