Сообщение от melky
|
для удобства. а все любители скорости и малого объёма будут до конца жизни использовать += вместо ++, && вместо if(){}, и тому подобное.
|
Да, потеснил, так оно и есть, даже ср*ный .some() . Обыдно. Этож native код, должно быть быстрее. =(
Эх, как красиво с новомодным фичами выглядела проверка текста:
function isNaT( text ) { //not a text
return [
/^[_a-z0-9-\.]+@[\.a-z0-9-]+\.[a-z]+$/i, //email
/^[a-z]+:\/\/[^\s]+$/i, //url;
/^[0-9\.,!@#\$%\^\&*\(\)`~_\-=\+|\\{}\[\]\s:;<>\?\/]+$/i //symbol
].some( function(pattern) pattern.test( text ) )
}
Но оно аж в 3 раза медленней чем простое:
function isNaT(text){
var pattern = [
/^[_a-z0-9-\.]+@[\.a-z0-9-]+\.[a-z]+$/i, //email
/^[a-z]+:\/\/[^\s]+$/i, //url;
/^[0-9\.,!@#\$%\^\&*\(\)`~_\-=\+|\\{}\[\]\s:;<>\?\/]+$/i //symbol
], i = pattern.length;
while(i--) if(pattern[i].test( text )) return true;
return false
}
а скорость, увы, всегда важна.
P.S. Это абсурд: самодельная функция some работает быстрее нативной. *facepalm*