{"id":28092422,"url":"https://github.com/ezranbayantemur/react-native-passmeter","last_synced_at":"2025-05-13T13:14:18.339Z","repository":{"id":51335031,"uuid":"240009883","full_name":"ezranbayantemur/react-native-passmeter","owner":"ezranbayantemur","description":"Simple password strength meter for React Native.","archived":false,"fork":false,"pushed_at":"2023-03-02T16:18:37.000Z","size":247,"stargazers_count":51,"open_issues_count":6,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-13T13:14:05.953Z","etag":null,"topics":["mobile-development","password","password-meter","password-strength","react","react-native"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ezranbayantemur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-12T12:40:44.000Z","updated_at":"2024-12-24T16:15:34.000Z","dependencies_parsed_at":"2023-02-03T17:32:02.012Z","dependency_job_id":null,"html_url":"https://github.com/ezranbayantemur/react-native-passmeter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezranbayantemur%2Freact-native-passmeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezranbayantemur%2Freact-native-passmeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezranbayantemur%2Freact-native-passmeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezranbayantemur%2Freact-native-passmeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ezranbayantemur","download_url":"https://codeload.github.com/ezranbayantemur/react-native-passmeter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253948503,"owners_count":21988961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mobile-development","password","password-meter","password-strength","react","react-native"],"created_at":"2025-05-13T13:14:17.744Z","updated_at":"2025-05-13T13:14:18.333Z","avatar_url":"https://github.com/ezranbayantemur.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Native Simple Passmeter\n\nSimple password strength meter for React Native.\n\n[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://github.com/Naereen/StrapDown.js/blob/master/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\n![Pass GIF](https://github.com/ezranbayantemur/react-native-passmeter/blob/master/assets/passwordExample.gif)\n\n## Description\n\nPassMeter has 5 level of security. It's checks the typed password string has any upper case, lower case, numbers and special characters. Password string can be at least 4 character.\n\n| Strength Level |                                   Description                                    |                                       Example |\n| -------------- | :------------------------------------------------------------------------------: | --------------------------------------------: |\n| 0              |         Length of the password is below then gived or default minLenght          |                        \"ac\", \"A2b\", \"1\u0026\", ... |\n| 1              | Password has at least one upper case, lower case, numbers and special characters |          \"example\", \"PASSWORD\", \"%+%\u0026/!\", ... |\n| 2              |               Password contains only two condition of the required               |     \"exAmpLe\", \"pa22w0rd\", \"PA\\$\\$W%RD!\", ... |\n| 3              |              Password contains only three condition of the required              |   \"3xAmpL3\", \"^!22w0rd\u00266\", \"pA\\$\\$W%RD!\", ... |\n| 4              |                 Password contains all of the required conditions                 | \"eX@mpL3\", \"^P@22w0rd\", \"pA22\\$\\$W%R1D!\", ... |\n\n## Installation\n\n```\nnpm install react-native-passmeter\n```\n\nor\n\n```\nyarn add react-native-passmeter\n```\n\n## Usage\n\n```javascript\nimport React, { useState } from \"react\";\nimport { SafeAreaView, TextInput } from \"react-native\";\nimport PassMeter from \"react-native-passmeter\";\n\nconst MAX_LEN = 15,\n  MIN_LEN = 6,\n  PASS_LABELS = [\"Too Short\", \"Weak\", \"Normal\", \"Strong\", \"Secure\"];\n\nexport default App = () =\u003e {\n  const [password, setPassword] = useState(\"\");\n\n  return (\n    \u003cSafeAreaView style={styles.container}\u003e\n      \u003cTextInput\n        style={styles.input}\n        maxLength={15}\n        secureTextEntry\n        onChangeText={password =\u003e setPassword(password)}\n      /\u003e\n      \u003cPassMeter\n        showLabels\n        password={password}\n        maxLength={MAX_LEN}\n        minLength={MIN_LEN}\n        labels={PASS_LABELS}\n      /\u003e\n    \u003c/SafeAreaView\u003e\n  );\n};\nconst styles = {\n  container: { flex: 1, justifyContent: \"center\" },\n  input: {\n    margin: 5,\n    padding: 6,\n    borderRadius: 8,\n    marginBottom: 8,\n    paddingHorizontal: 10,\n    backgroundColor: \"#eceff1\"\n  }\n};\n```\n\n## Properties\n\n| Prop       |  Type   |         Description          | isRequired | Default Value |\n| ---------- | :-----: | :--------------------------: | ---------: | :-----------: |\n| password   | String  |        Typed password        |       true |               |\n| labels     |  Array  | Strength levels of password  |       true |               |\n| minLength  | Number  |  Minimum length of password  |      false |       4       |\n| maxLength  | Number  |  Maximum length of password  |      false |      15       |\n| showLabels | Boolean | Visibilty of strength labels |      false |     true      |\n\n## **@0.0.5**\n\n# Contribute\n\nFeel free to contribute, any PR will be welcomed!\n\n# LICENSE\n\n**MIT**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezranbayantemur%2Freact-native-passmeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fezranbayantemur%2Freact-native-passmeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezranbayantemur%2Freact-native-passmeter/lists"}