Skip to content

Instantly share code, notes, and snippets.

View AliAlmasi's full-sized avatar
🖤
Live Long Iran

Ali Almasi AliAlmasi

🖤
Live Long Iran
View GitHub Profile
function goUp(){
let parts = window.location.pathname.split('/').filter(Boolean);
parts.pop();
let newPath = '/' + parts.join('/');
window.location.href = newPath || '/';
}
// goUp() will take you one level up.
@AliAlmasi
AliAlmasi / str_reverse.js
Last active October 24, 2024 21:45
Reverse a string in JS & PHP using this `str_reverse()` function
const readline = require("node:readline");
const input = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const str_reverse = (string) => {
let reverse = "";
for (let index = string.length; index > 0; index--)
@AliAlmasi
AliAlmasi / NegativeIndex.js
Last active October 24, 2024 21:47
A simple function to help you access array values from the end. Source: https://stackoverflow.com/a/64296726
const nIndex = (array, nIndex) => array.slice(nIndex)[0];
// Example:
const arr = [1,2,3,5,7,9];
console.log(nIndex(arr, -2)); // output: 7
console.log(nIndex(arr, -4)); // output: 3
@AliAlmasi
AliAlmasi / FormMove.cs
Last active June 23, 2024 17:46
Makes a Windows Form Application program movable when user drags any part of the form.
namespace WindowsFormApplication1 {
public partial class Form1: Form {
public Form1() {
InitializeComponent();
}
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[System.Runtime.InteropServices.DllImport("user32.dll")]
@AliAlmasi
AliAlmasi / IrIdNumberCheck.js
Created June 17, 2024 15:49
Iranian ID number checker, implemented with JS
function IrIdCheck(code) {
var L = code.length;
if (L < 8 || parseInt(code, 10) === 0) return false;
code = ('0000' + code).substr(L + 4 - 10);
if (parseInt(code.substr(3, 6), 10) === 0) return false;
int c = parseInt(code.substr(9, 1), 10);
int s = 0;
for (int i = 0; i < 9; i++)
s += parseInt(code.substr(i, 1), 10) * (10 - i);
s = s % 11;
@AliAlmasi
AliAlmasi / PersianDate.js
Created December 15, 2023 23:00
A better way to use Persian Calendar in JS.
class PersianDate extends Date {
constructor(...args) {
super(...args);
}
toLocaleDateString = () => super.toLocaleDateString("fa-IR-u-nu-latn");
getParts = () => this.toLocaleDateString().split("/");
getDay = () => (super.getDay() === 6 ? 0 : super.getDay() + 1);
getDate = () => this.getParts()[2];
getMonth = () => this.getParts()[1] - 1;