JSFiddle - React, Tailwind, and code Playground
by Alexander
JavaScript
console.clear();
function clean(val) {
if (!val || typeof val != 'string') return '';
return val
.replace(/\\/g, '/')
.replace(/[\r\n]/g, ' ')
}
function alpha(val) {
return clean(val)
.replace('"', "'")
.replace(/[^'`\da-zA-Z_А-ЯЁёа-я\s\-\(\)\.,@&\+\/]/igu, '')
.trim()
}
function normalizeTitle(val) {
if (!val || typeof val != 'string') return '';
val = val
// .toLowerCase()
.replace(/\\/g, '/')
.trim()
/*
.replace(/^[a-zа-я]+/u, s => {
return (s.length > 1 && s.length < 4)
? s.toUpperCase()
: s[0].toUpperCase() + s.slice(1)
})
//*/
return val
}
function title(val) {
if (!val || typeof val != 'string') return '';
return normalizeTitle(alpha(val))
}
function subway(s) {
return normalizeTitle(alpha(s.replace(/м\.|метро/iu, '')))
}
console.log(subway('м. елизаровская'))
var a = [
'AR/VR разработчик',
'PHP Developer (middle/senior)',
'php Developer',
'Россия',
'Москва',
'АХИРЕННАЯ КАПС-ЛОК ВАКАНСИЯ!!!!'
];
for (let s of a) {
console.log( title(s) )
}