Javascript -数据过滤和删除换行符
Javascript - data filtering and removing line breaks
在文本区域中输入isbn的列表,javascript为每个输入的isbn打开一个amazon搜索。
Isbn可以在10到13位之间。并不是所有的isbn搜索都以isbn开头,有时会有信息在前面,比如"isbn10:0195433831",所以你不能从头开始计数。
例如,这是一个典型的搜索:0195433831 Good
0195433831贫穷
0195433831优秀
通常isbn的输入格式不同,例如:
1)数字之间有空格
978 0 132 76682 1 like new
978 0 495 38500 4非常好
2)增加了额外的额定值,造成了额外的不必要搜索。
9781118624616 9/10条件,最小高亮
9780415462020 10/10条件,全新
所以我必须找到一种方法让Javascript过滤掉这些条件。
代码在这里:
//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(/'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.com/gp/search/ref=sr_adv_b/?search-alias=stripbooks&field-isbn='
window.open(base + isbn)
}
<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应该是13个数字,如果我没记错的话,所以你不能只是删除空格并匹配13个组吗?
var str = "978 111 862 4616 9/10 condition with minimal highlighting'n'n9780415462020 10/10 condition, brand new",
nums = str.replace(/'s/,"").match(/'d{13}/g);
相关文章:
- jquery使用val()复制值似乎可以删除换行符
- 如何删除字符串开头和结尾的换行符
- 使用PHP删除换行符
- 删除文本区域中某个文本后出现的换行符
- 使用正则表达式删除段落开头和结尾的换行符
- 删除PHP中的换行符和换行符
- WebStorm,“环绕”删除换行符
- 仅删除空换行符,保留空格
- 正则表达式删除换行符和内容之间的空格
- 如何在删除换行符的同时将 HTML 文本转换为 javascript 变量
- 删除文本中的空格,同时保留换行符
- 从 javascript 中删除换行符并使数据出现在单行中
- 如何从Knockout html绑定中删除换行符
- 通过 API PUT 将文本区域保存到数据库,删除换行符
- PHP -从文本区删除换行符
- 删除换行符w/o
- 如何从段落中删除换行符
- Javascript -数据过滤和删除换行符
- 缩小:使用正则表达式从 JavaScript 代码中删除换行符
- Javascript:在一行字符串中获取body html.如何删除换行符