Wondering what’s next for npm?Check out our public roadmap! »

    censorify-it

    3.0.2 • Public • Published

    censorify-it

    codecov

    Censor unwanted URLs, emails and telephone numbers to prevent spam

    Annoyed by spammers & scammers orchestrating fishing attacks with links, phone numbers or email address within your app? CensorifyIt is the answer!

    Built as an extension of LinkifyIt

    Install

    yarn add censorify-it
    

    Usage

    import CensorifyIt from 'censorify-it'
     
    const censorify = new CensorifyIt()
     
    console.log(censorify.process('Hello, here is https://alink.to/a-website can you find it?'))
    // 'Hello, here is ************************** can you find it?'
    console.log(censorify.process('My phone number is +1 123 456 7890'))
    // 'My phone number is ***************'
     
    console.log(censorify.match('Site github.com!'))
    // [
    //   Match {
    //     schema: '',
    //     index: 5,
    //     lastIndex: 15,
    //     raw: 'github.com',
    //     url: 'http://github.com',
    //     text: '**********'
    //   }
    // ]
     
    console.log(censorify.match('My phone number is 01 01 01 01 01'))
    // [
    //   Match {
    //     schema: '0',
    //     index: 19,
    //     lastIndex: 33,
    //     raw: '01 01 01 01 01',
    //     url: '01 01 01 01 01',
    //     text: '**************'
    //   }
    // ]

    To change the replacement string:

    const censorify = new CensorifyIt()
    censorify.set({ replacementText: 'REMOVED' })
     
    console.log(censorify.match('My phone number is 01 01 01 01 01'))
    // [
    //   Match {
    //     schema: '0',
    //     index: 19,
    //     lastIndex: 33,
    //     raw: '01 01 01 01 01',
    //     url: '01 01 01 01 01',
    //     text: 'REMOVED'
    //   }
    // ]

    Accepts an exceptions array of regex or function regex are executed against the raw text that was matched functions takes the full match as parameters

    const censorify = new CensorifyIt()
     
    const mysiteRegex = new RegExp(/mysite.com/g)
    const mySophisticatedException = match => match.url === 'http://example.com'
    censorify.set({ exceptions: [mysiteRegex, mySophisticatedException] })
     
    console.log(censorify.match('Check out github.com or mysite.com or even example.com'))
    // [
    //   Match {
    //     schema: '',
    //     index: 10,
    //     lastIndex: 20,
    //     raw: 'github.com',
    //     url: 'http://github.com',
    //     text: '**********'
    //   },
    //   Match {
    //     schema: '',
    //     index: 24,
    //     lastIndex: 34,
    //     raw: 'mysite.com',
    //     url: 'http://mysite.com',
    //     text: 'http://mysite.com'
    //   },
    //   Match {
    //     schema: '',
    //     index: 43,
    //     lastIndex: 54,
    //     raw: 'example.com',
    //     url: 'http://example.com',
    //     text: 'http://example.com'
    //   }
    // ]

    All the other settings and additions as defined by LinkifyIt also apply.

    Keywords

    none

    Install

    npm i censorify-it

    DownloadsWeekly Downloads

    7,349

    Version

    3.0.2

    License

    MIT

    Unpacked Size

    20.4 kB

    Total Files

    13

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar