Несколько дней назад я опубликовал пост Как создать и опубликовать свой первый пакет NPM. Я понимаю, что опубликовать пакет npm очень просто. Я решил очень просто создать валидатор полей формы и попросить разработчиков внести свой вклад в это.
Я создал библиотеку npm и опубликовал ее в NPM и Github, чтобы очень легко проверять поля формы. Давайте посмотрим, что он может сделать?
Установка
npm install is-validate
импорт
Способ 1 для импорта
const { isEmail } = require("is-validate")
Способ 2 для импорта
const isValidate = require('is-validate');
Все методы
- электронная почта
Пример:
//method 1 const { isEmail } = require("is-validate") console.log(isEmail('[email protected]')) // true
// method 2 const isValidate = require('is-validate'); console.log(isValidate.isEmail('[email protected]')) // true
Все остальные функции будут работать, поэтому я не буду приводить примеры для каждого метода
- это телефон
- URL-адрес
- isDate
- время
- номер
- это строка
- isObject
- isBoolean
- тип
- isContain
Пример:
console.log(isContains('Hello world', 'Hello'))
Код пакета
/* * This method accepts a string as its argument and returns true or false whether given string is email or not */ const isEmail = (email) => { let re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(email).toLowerCase()); return re; }
/* * This method accepts a string as its argument and returns true or false whether a given string is phone or not */ const isPhone = (phone) => { let is_phone = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im.test(phone); return is_phone; }
/* * This method accepts a string as its argument and returns true or false whether given string is URL or not */ const isUrl = (string) => { let url; try { url = new URL(string); } catch (_) { return false; } return url.protocol === "http:" || url.protocol === "https:"; } /* * This method accepts a string as its argument and returns true or false whether given string is date or not */ const isDate = (date) => { return (new Date(date) !== "Invalid Date") && !isNaN(new Date(date)); } /* * This method accepts a string as its argument and returns true or false whether given string is time or not HH: MM */ const isTime = (time) => { var isValid = /^([0-1][0-9]|2[0-3]):([0-5][0-9])$/.test(time); return isValid; }
/* * This method given argument is number or not */ const isNumber = (number) => { if(typeof number == 'number'){ return true;} return false; }
/* * This method given argument is a string or not */
const isString = (string) => { if(typeof string == 'string'){ return true;} return false; }
/* * This method given argument is boolean or not */ const isBoolean = (boolean) => { if(typeof boolean == 'boolean'){ return true;} return false; }
/* * This method given argument is object or not */ const isObject = (object) => { if(typeof object == 'object'){ return true;} return false; }
/* * This method will return the type of argument passed */
const isType = (data) => { return typeof data; } /* * This method will return true or false based on a string containing a substring. */
const isContains = (string, substring) => { return string.includes(substring) }
module.exports = { isEmail, isPhone, isUrl, isDate, isTime, isNumber, isString, isObject, isBoolean, isType, isContains };
В файле index.js
я написал код для проверки и определил функции для выполнения проверки.
Зачем вносить свой вклад?
Это первый вопрос, который приходит на ум всякий раз, когда мы думаем начать участвовать в проекте с открытым исходным кодом. Обратитесь к этому URL-адресу, чтобы узнать, почему вам нужно внести свой вклад в открытый исходный код.
Как внести свой вклад?
Это очень простой пакет для проверки полей формы, и я думаю, что он очень полезен при разработке любого приложения. Чтобы внести свой вклад со мной, вам нужно сделать следующие шаги.
- Клонировать репозиторий с Github
git clone https://github.com/harendra21/is-validate
- Создать будущую ветку
Вы должны создать новую ветку с именем feature-validate-email
- Добавить новую функцию в index.js и экспортировать ее
- Протестировать вновь созданную функцию
Чтобы протестировать ваш пакет локально (очень важно), вы должны установить среду. Пожалуйста, обратитесь к тестовой части этой статьи.
- Push-код
- Готово
После этого я вручную просмотрю код, объединим его с мастером и опубликую изменения в NPM.
Спасибо, что прочитали эту статью, не забудьте подписаться на меня.