请教文本框取值

在文本框里面输入:newsid=123
点击获取按钮,得到:
xx.cn/?uid=123,09,123&nid=123
并把这个链接自动复制到剪贴板。

也就是替换3个地方。123这个数字是随机的。
请问js能做到吗?谢谢。

阅读 1.5k
2 个回答

https://codepen.io/forkfg/pen...

const input = document.querySelector('input')
const button = document.querySelector('button')
button.addEventListener('click', async () => {
    const nid = input.value.trim().match(/^newsid=(\d+)$/)?.[1]
    if (! nid) {
        alert('illegal input')
        return
    }
    const url = `xx.cn/?uid=123,09,123&nid=${nid}`
    alert(url)
    await navigator.clipboard.writeText(url)
    alert('copied to clipboard')
})

不知道你哪一步遇到了困难?

newsid= 这个没用到,为什么要输入,输入其他的会有影响吗,如 uid=123

假设严格按照 newsid=... 的格式输入,那么
截取或分割出 = 之后的值,用 + 拼接 'xx.cn/?uid=' + id + ',09,' + id + '&nid=' + id
或者用模板字符串

const value = 'newsid=123' // 获取文本框的 value

const id = encodeURIComponent(value.split('=')[1])
const res = `xx.cn/?uid=${id},09,${id}&nid=${id}`
console.log(res) // xx.cn/?uid=123,09,123&nid=123
copy(res)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题