- 1
- 2
- 3
if length(varrstr(cellphoneidx) != 11) or regexp_instr(varrstr(cellphoneidx), '\d\d\d\d\d\d\d\d\d\d') = 0 then
return 1;
end if;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
if length(varrstr(cellphoneidx) != 11) or regexp_instr(varrstr(cellphoneidx), '\d\d\d\d\d\d\d\d\d\d') = 0 then
return 1;
end if;
Проверка на валидность номера телефона (с вкраплениями pl/sql):
И так везде, где требуется проверка на определенное количество цифр (номер инн, док-ов и т.д.).
Псц, товарищи.
+3
&НаКлиенте
Процедура Заполнить(Команда)
КоличествоСтрок = ПроверитьКоличествоСтрок();
….
КонецПроцедуры
&НаСервере
Функция ПроверитьКоличествоСтрок()
ТаблицаТабеля = ЭтотОбъект.ТаблицаЧасов.Выгрузить();
Возврат ТаблицаТабеля.Количество();
КонецФункции
Шедевр от одного крупного франчайзи.
+1
<?
if(!$_POST){//mpre("Не аякс запрос");
}elseif(!$name = mpquot(get($_POST, 'name'))){mpre("Регистрационное имя не указано");
}elseif(!$pass = get($_POST, 'pass')){mpre("Пароль для регистрации не указан");
}elseif(get($_POST, 'pass') != get($_POST, 'pass2')){mpre("Пароли не совпадают");
}elseif($users = rb("{$conf['db']['prefix']}users","name","[{$name}]")){mpre("Пользователь уже зарегистрирован");
}elseif(!$sess = get($conf, 'user', 'sess')){mpre("Ошибка полученя сессии текущего пользователя");
}elseif(!$mphash = mphash($name, $pass)){mpre("Ошибка генерации пароля");
}elseif(!$users = fk("{$conf['db']['prefix']}users", $w = array("name"=>$name), $w += array("type_id"=>1, "pass"=>$mphash, "reg_time"=>time(), "last_time"=>time(), "email"=>get($_POST, 'email'), "ref"=>get($conf, 'user', 'sess', 'ref'), "refer"=>get($conf, 'user', 'sess', 'refer')))){mpre("Ошибка регистрации пользователя");
}elseif(!$grp = get($conf, 'settings', 'user_grp')){mpre("Ошибка определения пользовательской группы");
}elseif(!$users_grp = rb("users-grp", "name",$w = "[{$grp}]")){mpre("Ошибка выборки группы {$w}");
}elseif(!$users_mem = fk("users-mem", $w = ["uid"=>$users['id'], "grp_id"=>$users_grp['id']], $w)){mpre("Ошибка добавления пользователя `{$users["name"]}` в группу '{$users_grp["name"]}'");
}elseif(!$sess = fk("{$conf['db']['prefix']}sess", ["id"=>$sess["id"]], null, ['uid'=>$users["id"]])){mpre("Ошибка обновления сессии пользователя");
}else{ mpevent("Регистрация нового пользователя", $name, $users['id'], $_POST);
exit(json_encode($users));
}
Страница регистрации
+2
var L = {
'Рђ': 'A',
'Р°': 'a',
'Р‘': 'B',
'Р±': 'b',
'Р’': 'V',
'РІ': 'v',
'Р“': 'G',
'Рі': 'g',
'Р”': 'D',
'Рґ': 'd',
'Р•': 'E',
'Рµ': 'e',
'РЃ': 'Yo',
'С‘': 'yo',
'Р–': 'Zh',
'Р¶': 'zh',
'Р—': 'Z',
'Р·': 'z',
'Р': 'I',
'Рё': 'i',
'Р™': 'Y',
'Р№': 'y',
'Рљ': 'K',
'Рє': 'k',
'Р›': 'L',
'Р»': 'l',
'Рњ': 'M',
'Рј': 'm',
'Рќ': 'N',
'РЅ': 'n',
'Рћ': 'O',
'Рѕ': 'o',
'Рџ': 'P',
'Рї': 'p',
'Р ': 'R',
'СЂ': 'r',
'РЎ': 'S',
'СЃ': 's',
'Рў': 'T',
'С‚': 't',
'РЈ': 'U',
'Сѓ': 'u',
'Р¤': 'F',
'С„': 'f',
'РҐ': 'Kh',
'С…': 'kh',
'Р¦': 'Ts',
'С†': 'ts',
'Р§': 'Ch',
'С‡': 'ch',
'РЁ': 'Sh',
'С€': 'sh',
'Р©': 'Sch',
'С‰': 'sch',
'РЄ': '',
'СЉ': '',
'Р«': 'Y',
'С‹': 'y',
'Р¬': "",
'СЊ': "",
'Р': 'E',
'СЌ': 'e',
'Р®': 'Yu',
'СЋ': 'yu',
'РЇ': 'Ya',
'СЏ': 'ya'
};
0
$val = trim($str);
$last = strtolower($str[strlen($str)-1]);
switch($last) {
case 'g': $val *= 1024;
case 'm': $val *= 1024;
case 'k': $val *= 1024;
}
return $val;
Встретил в коде одного интернет магазина
+1
var vals =
tagsTypes.Zip(times,
(tagType, time) =>
{
if (error != null)
return new { time = time, val = (object)ServiceValue.DataSourceNotAvailable };
if (!timedVals.ContainsKey(tagType.tag))
return new { time = time, val = (object)ServiceValue.NoValue };
if (timedVals[tagType.tag].Count == 0)
return new { time = time, val = (object)ServiceValue.NoValue };
var value = timedVals[tagType.tag].Find(x => x.TimestampUTC == time.ToUniversalTime() && x.Value!=null);
if (value != null && value.IsGood())
{
if (value.Value == null)
return new { time = time, val = (object)ServiceValue.Error };
else
{
if (!string.IsNullOrEmpty(value.DigitalSetValue))
return new { time = time, val = (object)value.DigitalSetValue };
return new { time = time, val = value.Value };
}
}
else
{
var val = _connection.GetTagByName(tagType.tag).Data.ArcValue(time, RetrievalTypeConstants.rtAuto);
if (!string.IsNullOrEmpty(val.DigitalSetValue))
return new { time = time, val = (object)val.DigitalSetValue };
return new { time = time, val = val.Value };
}
return new { time = time, val = (object)ServiceValue.Error };
}).ToArray();
давайте ка рассортируем значения по аттрибутам
+1
function line(){
$line = '';
for ($i=0; $i != 40; $i++){
$line .= '-';
}
echo($line.PHP_EOL);
}
+2
#!/usr/bin/env python
import jinja2
import contextlib
import os.path
import shutil
import subprocess
import sys
import tempfile
@contextlib.contextmanager
def rm_dir(d):
yield d
shutil.rmtree(d)
def main():
if len(sys.argv) < 2:
return
if os.path.basename(sys.argv[1]) != "compile":
subprocess.call(sys.argv[1:])
return
command = sys.argv[1:]
preprocessed_files = []
with rm_dir(tempfile.mkdtemp()) as tmpdir:
print "Temp dir is", tmpdir
while len(command) > 0 and not command[-1].startswith("-") and command[-1].endswith(".go"):
tmpfile = os.path.join(tmpdir, str(len(command)) + ".go")
with open(command[-1]) as input:
with open(tmpfile, "wb") as preprocessed:
print "Preprocess", command[-1], "into", tmpfile
preprocessed.write(jinja2.Template(input.read()).render())
preprocessed_files.append(tmpfile)
command.pop()
subprocess.call(command + preprocessed_files)
if __name__ == "__main__":
main()
Прикручиваем шаблонизатор jinja к го, чтобы копипастить с комфортом. Использовать так:
go build -toolexec '/path/to/preprocess.py' package_na_go
+4
int main()
{
asm(
mov eax, 2
mov ebx, eax
mul eax
add eax, ebx
mov ecx, 16
mov ebx, 8
lea ebx, ptr [ebx * 16 + ecx + 1]
mov ptr [ebx], eax
add ptr [ebx], eax
);
printf("eax: %d\n", eax.value);
printf("mem:145 = %d\n", *(int*) &a_memory[145]);
return 0;
}
На тему ассемблера в пхп
https://ideone.com/XK7ZQd
0
public Map<String, String> mapAB4(Map<String, String> map) {
if (map.get("a").length() > map.get("b").length()) {
map.put("c", map.get("a"));
return map;
}
if (map.get("b").length() > map.get("a").length()) {
map.put("c", map.get("b"));
return map;
}
if (map.get("b").length() == map.get("a").length()) {
map.put("a", "");
map.put("b", "");
return map;
}
if (map.containsKey("a") && !(map.containsKey("b"))) {
return map;
}
if (map.containsKey("b") && !(map.containsKey("a"))) {
return map;
}
else {
return map;
}
}
неудачная попытка размять шаловливые ручки на CodingBat xDDD