繁体   English   中英

如何从给定的字符串中排除某些字符?

[英]How do i exclude certain characters from a given string?

我已经制作了一个带有文本区域和按钮的html文件,该按钮本质上应该过滤我以我需要的方式提交的字符串。

尝试使用功能包括,gsub和替换几个变种。

let filtered = [] 

document.querySelector('#filter').addEventListener('submit',function (e){
    filtered = e.target.elements.text.value

    if (filtered.includes('Hi')){
        console.log(filtered)
        const filteredEl = document.createElement('div')
        filteredEl.textContent = filtered
        document.querySelector('#filtered').appendChild(filteredEl)

    }
    e.preventDefault()
})

我只需要AZ字符,并在可能的情况下完全删除不需要的字符,例如()等,没有任何空格。

使用正则表达式通过否定字符集来匹配和删除不是字母字符的所有内容:

document.querySelector('#filter').addEventListener('submit', function(e) {
  const filteredText = e.target.elements.text.value
    .replace(/[^a-z]+/gi, '');

  if (filteredText.includes('Hi')) {
    console.log(filteredText)
    const filteredEl = document.createElement('div')
    filteredEl.textContent = filteredText
    document.querySelector('#filtered').appendChild(filteredEl)

  }
  e.preventDefault()
})

带有不区分大小写的i标志的[^az]将匹配字母字符az以外的所有内容。

欢迎来到regexp世界

const onlyCapitalLetters = value.replace(/[^A-Z]/g, '');

您可能还需要小写字母和空格

const onlyText = value.replace(/[^A-Za-z ]/g, '');

您甚至可以将regexp用作输入的模式

<input type="text" pattern="[A-Za-z ]*" ...>

您可以在这里使用正则表达式进行游戏

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM