Skip to content

Instantly share code, notes, and snippets.

View romanitalian's full-sized avatar
🎯
Focusing

roman romadin romanitalian

🎯
Focusing
View GitHub Profile
@romanitalian
romanitalian / validate_email.js
Created August 20, 2014 19:59
Validate email by regexp
var regex = /^("[\w-\.\s]+")|(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?
@romanitalian
romanitalian / php_features_by_versions_en.php
Last active September 13, 2015 11:05
php_features_by_versions
Main changes (short):
5.1 PDO enabled by default
5.2 Added data: stream support.
5.3 namespaces, closures, __callStatic() и __invoke()
5.4 traits, short array syntax
5.5 finally, generators (yield, range)
5.6 variadic functions, argument unpacking
7 return types, scalar type hints
@romanitalian
romanitalian / validateEmail.php
Last active February 13, 2016 20:54
php function for RFC822 - stadart php function and custom variant
<?php
// Use: custom regex pattern
function validateEmail($email, $bStrict=false) {
$pattern = '/^("[\w-\.\s]+")|(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-
@romanitalian
romanitalian / Fcache.php
Last active August 29, 2015 14:21
Fcache Caching to files in /tmp
<?php
class Fcache
{
protected $path = '/tmp/fcache';
protected $content = null;
protected $time_limit = 3600;
protected $prefix_file = 'fcache_';
public static $inst = null;
protected $out;
@romanitalian
romanitalian / SoundIndex.php
Created May 19, 2015 08:27
Receiving a md5 of an arbitrary string sound. Use: SoundIndex::get('some string la-la');
<?php
/**
* Class SoundIndex
* Use: SoundIndex::get('some string la-la');
*/
class SoundIndex
{
protected static function _sound($string, $is_cyrillic = true) {
static $codes = array(
@romanitalian
romanitalian / birthday_congratulate.js
Last active August 29, 2015 14:24
Anton, Happy Birthday!
var isBirthdayToday = function (d, m) {
d = typeof d !== 'undefined' ? d : 1;
m = typeof m !== 'undefined' ? m : 1;
var myBirthday, today, bday, diff, days;
myBirthday = [d, m];
today = new Date();
bday = new Date(today.getFullYear(), myBirthday[1] - 1, myBirthday[0]);
if (today.getTime() > bday.getTime()) {
bday.setFullYear(bday.getFullYear() + 1);
}
@romanitalian
romanitalian / Leetify.php
Last active November 1, 2018 01:55
Leetify: "leet "-> "133+"; "133+" -> "leet"
<?php
// The this code migrate to github project: https://github.com/romanitalian/Leetify
/**
* Class Leetify
* Leetify::encode('leet'); // "133+"
* Leetify::decode('133+'); // "leet"
*/
class Leetify
{
@romanitalian
romanitalian / file.xml
Created October 31, 2015 15:13
How to use xslt
<?xml version="1.0"?>
<?xml-stylesheet href="file_template.xslt" type="text/xsl"?><!-- путь до xslt стилей указан в аттрибуте href -->
<data>
<title>Владелец и его собаки</title>
<owner>Владелец</owner>
<my_test>
<first>Имя</first>
<second>Фамилия</second>
<second>Ла-ла-ла</second>
</my_test>
@romanitalian
romanitalian / m_str_getcsv.php
Last active May 3, 2017 12:48
Time execution: foreach vs array_map (parse csv)
<?php
/**
* Parse csv using: array_map
* @param $path_to_csv_file
* @param string $delimiter
* @return array
*/
// function m_str_getcsv($path_to_csv_file, $delimiter = ";") {
// return array_map(
@romanitalian
romanitalian / use_Closure_bindTo.php
Last active October 31, 2015 15:25
Use of private methods in PHP - "outside"
<?php
class MyClass
{
private function privateMethod($args) {
return $args;
}
function callPrivate($object, $method, $args) {
$caller = function ($method, $args) {