mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 17:50:39 +08:00
merge: Add ValidateUrl in String (#856)
* Add ValidateUrl in String * change regex * Bug fix
This commit is contained in:
13
String/ValidateUrl.js
Normal file
13
String/ValidateUrl.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @function ValidateURL
|
||||||
|
* @description validate the URL.
|
||||||
|
* @param {String} url - The input URL string
|
||||||
|
* @return {Boolean}
|
||||||
|
*/
|
||||||
|
const validateURL = (url) => {
|
||||||
|
const URL_PATTERN = /^(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})$/gi
|
||||||
|
|
||||||
|
return URL_PATTERN.test(url)
|
||||||
|
}
|
||||||
|
|
||||||
|
export { validateURL }
|
14
String/test/ValidateUrl.test.js
Normal file
14
String/test/ValidateUrl.test.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { validateURL } from '../ValidateUrl'
|
||||||
|
|
||||||
|
describe('ValidateUrl', () => {
|
||||||
|
it('expects to return false', () => {
|
||||||
|
expect(validateURL('google')).toEqual(false)
|
||||||
|
expect(validateURL('link: https://www.google.com')).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('expects to return true', () => {
|
||||||
|
expect(validateURL('http://www.google.com')).toEqual(true)
|
||||||
|
expect(validateURL('https://www.google.com')).toEqual(true)
|
||||||
|
expect(validateURL('www.google.com')).toEqual(true)
|
||||||
|
})
|
||||||
|
})
|
Reference in New Issue
Block a user