PHPackages                             cpana/cnp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. cpana/cnp

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

cpana/cnp
=========

Validare CNP

1.0.0-beta(5y ago)211MITPHP

Since Jan 20Pushed 5y ago1 watchersCompare

[ Source](https://github.com/cristianpana86/cnp)[ Packagist](https://packagist.org/packages/cpana/cnp)[ RSS](/packages/cpana-cnp/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

CNP - Cod Numeric Personal
==========================

[](#cnp---cod-numeric-personal)

Librarie PHP care permite validarea si extragerea de informatii din CNP.

Instalare
=========

[](#instalare)

Folosind Composer:

```
composer require cpana/cnp

```

Utilizare
=========

[](#utilizare)

In folderul src/Examples gasiti cateva exemple de utilizare.

La instantierea clasei CodNumericPersonal se trimite ca parametru sirul de caractere continand CNP-ul ce trebuie validad.

Daca nu este un CNP valid o exceptie care implementeaza interfata CPANA\\CNP\\Exception\\CNPExceptionInterface va fi aruncata.

```
use CPANA\CNP\CodNumericPersonal;
use CPANA\CNP\Exception\CNPExceptionInterface;

...
try {
    $cnpObj = new CodNumericPersonal($inputString);
} catch (CNPExceptionInterface $e) {
    // handle error
}
```

Daca se doreste tratarea mai in detaliu a diferitelor erori de validare urmati exemplul de mai jos:

```
use CPANA\CNP\CodNumericPersonal;
use CPANA\CNP\Exception\GenericInvalidCNPException;
use CPANA\CNP\Exception\InvalidCNPLengthCNPException;
use CPANA\CNP\Exception\NonNumericValueCNPException;
use CPANA\CNP\Exception\CNPExceptionInterface;

...
try {
    $cnpObj = new CodNumericPersonal($inputString);
} catch (InvalidCNPLengthCNPException $e) {
    // Ex: Display message to user

} catch (NonNumericValueCNPException $e) {
    // Ex: Display message to user

} catch (GenericInvalidCNPException $e) {
    $code = $e->getCode();
    // take decision based on error code
    switch ($code) {
        case GenericInvalidCNPException::EXCEPTION_COUNTY:
            // take some action like  highlight wrong digits for county JJ
            echo 'Error code:'.$e->getCode().' '.$e->getMessage().PHP_EOL;
            break;
        case GenericInvalidCNPException::EXCEPTION_GENDER:
            // take some specific action ..
            break;
        case GenericInvalidCNPException::EXCEPTION_YEAR:
            // take some specific action ..
            break;
        case GenericInvalidCNPException::EXCEPTION_MONTH:
            // take some specific action ..
        case GenericInvalidCNPException::EXCEPTION_DAY:
            // take some specific action ..
            break;
    }
} catch (CNPExceptionInterface $e) {
    // do something
} catch (\Exception $e) {
    // do something
}
```

Testare automata
================

[](#testare-automata)

Rulare teste automate:

```
./vendor/bin/phpunit tests
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.

.......                                                             7 / 7 (100%)

Time: 106 ms, Memory: 4.00 MB

OK (7 tests, 7 assertions)

```

Calitatea codului
=================

[](#calitatea-codului)

Pentru a verifica calitatea codului poate fi folosita comanda:

```
composer lint

```

Aplicatiile folosite in detaliu:

1. PHP CS Fixer - verifica aderarea la coding stand (si repara automat abaterile) ```
    composer cs-fix
    composer cs-test

    ```
2. PHP CodeSniffer - partial redundant cu PHP CS Fixer, incare niste verificari care ne sunt utile. ```
    composer phpcs

    ```
3. PHP Mess Detector - pentru analiza calitatii codului din punct de vedere al volumului, calitatii, etc. ```
    composer phpmd

    ```
4. PHPStan - analiza statica, identificarea problemelor generale din cod ```
    composer phpstan

    ```
5. PHPUnit - testare functinala si unitara ```
    composer test

    ```

Licenta
=======

[](#licenta)

Acest pachet este licențiat în conformitate cu licenta [MIT](http://opensource.org/licenses/MIT).

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1942d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11809755?v=4)[Cristian Pană](/maintainers/cpana)[@cpana](https://github.com/cpana)

---

Top Contributors

[![cristianpana86](https://avatars.githubusercontent.com/u/13106810?v=4)](https://github.com/cristianpana86 "cristianpana86 (8 commits)")[![redecs](https://avatars.githubusercontent.com/u/153277?v=4)](https://github.com/redecs "redecs (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/cpana-cnp/health.svg)

```
[![Health](https://phpackages.com/badges/cpana-cnp/health.svg)](https://phpackages.com/packages/cpana-cnp)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
