{"id":15808867,"url":"https://github.com/ndp/show_char_limit","last_synced_at":"2025-08-26T01:14:02.148Z","repository":{"id":720447,"uuid":"367787","full_name":"ndp/show_char_limit","owner":"ndp","description":"Show Character Limit jQuery Plugin to report # of characters remaining in text input or text area.","archived":false,"fork":false,"pushed_at":"2023-10-17T12:17:59.000Z","size":92,"stargazers_count":15,"open_issues_count":2,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-21T13:19:26.137Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http:///ndpsoftware.com/show_char_limit.php","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ndp.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-11-10T17:22:32.000Z","updated_at":"2023-04-28T08:57:24.000Z","dependencies_parsed_at":"2024-10-26T09:10:32.088Z","dependency_job_id":"03a9e78e-9120-4fe0-8338-ca79a468d17c","html_url":"https://github.com/ndp/show_char_limit","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.24242424242424243","last_synced_commit":"c2cd0aa352d43b5d79eae2b4a86d873a02f0fc26"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ndp/show_char_limit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fshow_char_limit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fshow_char_limit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fshow_char_limit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fshow_char_limit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ndp","download_url":"https://codeload.github.com/ndp/show_char_limit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fshow_char_limit/sbom","scorecard":{"id":677810,"data":{"date":"2025-08-11","repo":{"name":"github.com/ndp/show_char_limit","commit":"c2cd0aa352d43b5d79eae2b4a86d873a02f0fc26"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-21T22:05:41.625Z","repository_id":720447,"created_at":"2025-08-21T22:05:41.626Z","updated_at":"2025-08-21T22:05:41.626Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272155753,"owners_count":24883097,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-05T03:08:00.582Z","updated_at":"2025-08-26T01:14:02.132Z","avatar_url":"https://github.com/ndp.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Summary\n\njQuery plugin to display interactive character limit feedback about either \na text field or textarea.\n\n\n### Features\n\nWorks on both text inputs or text areas.\n\nThe caller provides the \"status\" element to display the feedback. If no element can be found,\na new one is created immediately after the text input.\n\nThe current status can be formatted as count down, count up, or some other format.\n\nOptionally, for nicer visual styling, the plugin will add a class to another DOM \nelement when the field is over the limit. This is convenient as it allows turning \nan element red, or displaying a hidden div with more detailed error message.\n\nThis plugin does nothing to enforce the character limit. This is intentional.\n\nIt uses a heuristic to find the status field: appends \"_status\" to the id of the\ntext element. For example, if the text field ID is \u003ccode\u003etweet\u003c/code\u003e, the status \nfield is \u003ccode\u003etweet_status\u003c/code\u003e. You can provide your own \"suffix\" instead \nof status, or explicitly provide the element.\n\n### Usage\n\n\u003cpre\u003e$([selector]).show_char_limit([max_length], [options]);\u003c/pre\u003e\n\u003cpre\u003e$([selector]).showCharLimit([max_length], [options]);\u003c/pre\u003e\n\u003cpre\u003e$([selector]).showCharLimit([options]);\u003c/pre\u003e\n\n#### Options:\n\n* \u003ccode\u003emaxlength\u003c/code\u003e. The maximum number of characters allowed in the input. May also be passed as the first parameter. \n  This value can (and will be) overriden by an attribute named \u003ccode\u003emaxlength\u003c/code\u003e on the input element.\n* \u003ccode\u003estatus_element\u003c/code\u003e: element to receive the status message. It can be a jQuery object, \n  element or DOM id. Overrides \u003ccode\u003estatus_element_suffix\u003c/code\u003e\n* \u003ccode\u003estatus_element_suffix\u003c/code\u003e: a string appended to the src element's id to \n  identify the status element. For this markup: \n  \u003ccode\u003e\u0026lt;input type=\"text\" id=\"name\"/\u0026gt;\u0026lt;span id=\"name_lim\"\u0026gt;20 chars\u0026lt;/span\u0026gt;\u003c/code\u003e, \n  pass \u003ccode\u003e_lim\u003c/code\u003e. The default value is \u003ccode\u003e__status\u003c/code\u003e. If the element is not found, \n  a SPAN is created immediately after the input.\n* \u003ccode\u003eerror_element\u003c/code\u003e. An element (or set of elements) have CSS class \u003ccode\u003eerror\u003c/code\u003e added \n  when there are too many characters in the target element. Can be a jQuery object, element or DOM id.\n* \u003ccode\u003eerror_class\u003c/code\u003e. Alternate class set on error_element above. Defaults to \u003ccode\u003eerror\u003c/code\u003e.\n* \u003ccode\u003estatus_style\u003c/code\u003e. Default is \u003ccode\u003etext\u003c/code\u003e, which displays a short phrase of \n  \"X characters left\" or \"X characters over\". You may also pass \u003ccode\u003echars_typed\u003c/code\u003e, which \n  displays the number of characters the user has typed (see twitter). Or \u003ccode\u003echars_left\u003c/code\u003e, \n  which counts down to zero.\n* \u003ccode\u003estatus_min _= 0_\u003c/code\u003e. Lower limit when status is shown. Useful if you don't want to \n  warn the user until she gets close to the limit. Defaults to 0.\n* \u003ccode\u003enewline_cost _= 1_\u003c/code\u003e. Additional \"penalty\" to add core carriage returns or linefeeds. \n  Useful to estimate text layouts that will appear at different widths.\n* \u003ccode\u003estrip _= true_\u003c/code\u003e. Remove whitespace characters from the beginning and end of the \n  text before counting characters. _Does not remove them from the actual value._\n\n\n#### Events\n\n* to manually trigger updating of the counter, \u003ccode\u003e$(text element).trigger('check.show-char-limit');\u003c/code\u003e\n* listen for '\u003ccode\u003eok.show-char-limit\u003c/code\u003e' when validation passes (every keystroke), eg.\n  \u003ccode\u003ejQuery('input').show_char_limit(...).bind('ok.show-char-limit', function() {})\u003c/code\u003e\n* listen for '\u003ccode\u003eerror.show-char-limit\u003c/code\u003e' when validation fails with too many\n  characters (every keystroke), eg.\n  \u003ccode\u003ejQuery('input').show_char_limit(...).bind('error.show-char-limit', function() {})\u003c/code\u003e\n\nLegacy events are supported with the `deprecated_events` flag set. It is set in version 1.6, but\nwill be turned off in future versions:\n* `showLimit` (deprecated) =\u003e `check.show-char-limit`\n* `validationOk` (deprecated) =\u003e `ok.show-char-limit`\n* `validationError` (deprecated) =\u003e `error.show-char-limit`\n\n### Demo\n\n[Demo](http://www.ndpsoftware.com/show_char_limit.php)\n\n\n### Tests\n\nOpen `jquery.show_char_limit.html` in a browser.\n\n\n### History\n* 1.6.0: rename events\n* 1.5.x: bower support\n* 1.4.0: introduced `strip` and `newline_cost` attribute\n* 1.3.1: introduced `status_min` attribute\n\n### Like it or have ideas?\n\nIf you like this and would like me to do more intereactions like this, send me an email... or money https://venmo.com/ndpsoft or  https://www.gofundme.com/ndp-software\n\n## Legal\n\nCopyright (c) 2005-2015 Andrew J. Peterson\n[Apache License](https://github.com/ndp/show_char_limit/raw/master/LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndp%2Fshow_char_limit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndp%2Fshow_char_limit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndp%2Fshow_char_limit/lists"}