내 대답은 거의이 같은 수 있습니다 : Pregmatch for at least 3 letters and for minus and apostrophe정규식 및 아포스트로피
그래서, 나도 이름 확인을위한 정규식이 필요합니다. 하지만 내 규칙은 약간 다릅니다.
- 은 문자로 시작해야합니다.
- 숫자가없고 영숫자는 없습니다.
- 에는 3 자 이상의 글자가 있어야하며 (이름에도 연속적으로 ... anywere이 아님) 최대 20 자이어야합니다.
은 하나의 아포스트로피 (') 만 허용하거나 아무도 사용할 수 없습니다. 사용 가능한 유일한 특수 문자는 ... (필수는 아니며 anywere입니다). 당신이 전을 위해 아포스트로피
을 넣어 문제를 나던 :
디부 AMICO => 접수해야합니다
미코 '=> 더 디부'AMICO => 더 'oneil => 더 dell'amore => 예 미코 => 예 킹콩 => 예 IO => 더 io9 => 없다 no
8888 => 아니요 aaa +++?<?php ... // Array errori $error = array(); // o $error = []; se hai una versione di php recente // Controllo il Nome Utente if(trim($nome) == ''){ $error[] = 'Campo nome non compilato'; } if (ctype_alnum($nome)) {$error[] = 'Se vuoi modificare il campo nome, assicurati che lo stesso non contenga numeri al suo interno!'; } if(strlen($nome) < 3 || strlen($nome) > 20){ $error[] = 'Il campo nome deve contenere minimo 3 caratteri e massimo 20 caratteri'; } if (!preg_match("/^([A-Za-z|àèéìòù][A-Za-z'-]*?){3,}$/", $nome)) { $error[] = 'Il campo nome contiene caratteri non ammessi'; } ... ?> <html>... <?php if(!empty($error)){ echo '<center>'; echo implode('<br/>', $error); echo '</center>'; } ?> ... </html>
가 어떻게 하나의 문자열로 모든 것을 결합 할 수 있습니다 : => 지금까지 아무
는이 코드가 없다? 미리 감사드립니다.
궁금 해요 : 누군가의 이름에 대한 이유 등 엄격한 검증? 전자 메일이나 전화 번호와 같은 것은 이해할 수 있지만 규칙이 다른 다양한 문화권의 이름과 모든 것에 관해서는 특정 문자 집합을 수락하는 것이 더 합리적이지 않습니까? – maiorano84
@ maiorano84는 사용자가 양식에 로그온 한 후에 발생하는 수동 작업을 간소화합니다. 누군가의 이름을 향한 인종 차별주의는 없습니다. :) 그러나 당신이 할 제안이 있다면 기꺼이 받아들입니다. – Chuby
개인적으로? 나는 문자, 공백, 대시 및 아포스트로피로만 제한합니다. 나는 사용자가'm'gorpkplzik'과 같은 것을 넣는 것에 너무 신경 쓰지 않을 것이다. 내가 아는 한, 누군가의 부모님이 계단 아래로 키보드를 던지면서 이름을 지을 수도 있습니다. 유효한 정보를 넣으려면 사용자에게 신뢰를 위임해야한다고 생각합니다. 나는 다음과 같이 제안 할 것이다.'/^(?.*[a-z]{3})[a-z0-9\- \ 'àèéòò] + $/i'. 적어도 3 개의 연속 된 글자가 있는지 확인해야합니다. – maiorano84