{"id":283273,"date":"2026-02-25T11:50:18","date_gmt":"2026-02-25T11:50:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/regex-validation-for-gravity-forms\/"},"modified":"2026-02-25T11:49:59","modified_gmt":"2026-02-25T11:49:59","slug":"regex-validation-for-gravity-forms","status":"publish","type":"plugin","link":"https:\/\/as.wordpress.org\/plugins\/regex-validation-for-gravity-forms\/","author":6326268,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"trunk","tested":"6.9.4","requires":"6.0","requires_php":"8.3","requires_plugins":null,"header_name":"Regex Validation for Gravity Forms","header_author":"zirkel.design","header_description":"Adds custom regex validation with Unicode support and presets to Gravity Forms fields. Includes both server-side and client-side validation.","assets_banners_color":"8d5a59","last_updated":"2026-02-25 11:49:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/zirkeldesign\/regex-validation-for-gravity-forms","header_author_uri":"https:\/\/zirkel.design","rating":0,"author_block_rating":0,"active_installs":0,"downloads":257,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"d.sturm","date":"2026-02-25 11:49:59"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3469406,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3469406,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3469406,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3469406,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3469406,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Regex validation settings in the Gravity Forms field editor","2":"Preset selection dropdown","3":"Client-side validation error message"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1655,12226,9779,9654,724],"plugin_category":[],"plugin_contributors":[256580],"plugin_business_model":[],"class_list":["post-283273","plugin","type-plugin","status-publish","hentry","plugin_tags-gravity-forms","plugin_tags-pattern","plugin_tags-regex","plugin_tags-unicode","plugin_tags-validation","plugin_contributors-dsturm-1","plugin_committers-dsturm"],"banners":{"banner":"https:\/\/ps.w.org\/regex-validation-for-gravity-forms\/assets\/banner-772x250.png?rev=3469406","banner_2x":"https:\/\/ps.w.org\/regex-validation-for-gravity-forms\/assets\/banner-1544x500.png?rev=3469406","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/regex-validation-for-gravity-forms\/assets\/icon.svg?rev=3469406","icon":"https:\/\/ps.w.org\/regex-validation-for-gravity-forms\/assets\/icon.svg?rev=3469406","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Regex Validation for Gravity Forms<\/strong> adds a powerful regex validation option to your Gravity Forms fields. Define custom regular expression patterns or choose from built-in presets to validate user input \u2014 both server-side and client-side.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Custom regex patterns<\/strong> \u2014 Add any regular expression to validate field input<\/li>\n<li><strong>Unicode support<\/strong> \u2014 Full Unicode character class support (<code>\\p{L}<\/code>, <code>\\p{N}<\/code>) for international names and text<\/li>\n<li><strong>Built-in presets<\/strong> \u2014 Quick-select common patterns for names, emails, phone numbers, and more<\/li>\n<li><strong>Server-side validation<\/strong> \u2014 Secure PHP validation that can't be bypassed<\/li>\n<li><strong>Client-side validation<\/strong> \u2014 Instant feedback on input change using JavaScript<\/li>\n<li><strong>Compound field support<\/strong> \u2014 Works with Name fields (validates each sub-input individually)<\/li>\n<li><strong>Custom error messages<\/strong> \u2014 Define user-friendly validation messages per field<\/li>\n<li><strong>Extensible<\/strong> \u2014 Add your own presets and field types via filters<\/li>\n<li><strong>Accessible<\/strong> \u2014 Error messages use <code>role=\"alert\"<\/code> for screen readers<\/li>\n<\/ul>\n\n<h4>Supported Field Types<\/h4>\n\n<ul>\n<li>Text<\/li>\n<li>Name (with individual sub-input validation)<\/li>\n<li>Email<\/li>\n<li>Phone<\/li>\n<li>Website<\/li>\n<li>Textarea<\/li>\n<\/ul>\n\n<h4>Built-in Presets<\/h4>\n\n<ul>\n<li><strong>Name<\/strong> \u2014 Unicode letters, spaces, hyphens, apostrophes<\/li>\n<li><strong>Email<\/strong> \u2014 RFC 5322 compliant<\/li>\n<li><strong>US Phone Number<\/strong> \u2014 Common US formats<\/li>\n<li><strong>International Phone Number<\/strong> \u2014 E.164 format<\/li>\n<li><strong>Alphanumeric<\/strong> \u2014 Unicode letters and numbers only<\/li>\n<li><strong>No Special Characters<\/strong> \u2014 Unicode letters, numbers, and spaces only<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>From WordPress Admin<\/h4>\n\n<ol>\n<li>Upload the <code>regex-validation-for-gravity-forms<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<\/ol>\n\n<h4>Via Composer<\/h4>\n\n<pre><code>composer require zirkeldesign\/regex-validation-for-gravity-forms\n<\/code><\/pre>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or later<\/li>\n<li>PHP 8.2 or later<\/li>\n<li>Gravity Forms 2.5 or later<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20add%20a%20regex%20pattern%20to%20a%20field%3F\"><h3>How do I add a regex pattern to a field?<\/h3><\/dt>\n<dd><p>Edit your form in Gravity Forms, select a supported field, and look for the \"Regex Validation\" section under the field settings. You can either select a preset pattern or enter your own custom regex.<\/p><\/dd>\n<dt id=\"does%20it%20support%20unicode%20characters%3F\"><h3>Does it support Unicode characters?<\/h3><\/dt>\n<dd><p>Yes! All patterns use the <code>\/u<\/code> flag for PHP and the <code>u<\/code> flag for JavaScript regex, enabling full Unicode property support like <code>\\p{L}<\/code> for any letter in any language.<\/p><\/dd>\n<dt id=\"can%20i%20add%20my%20own%20presets%3F\"><h3>Can I add my own presets?<\/h3><\/dt>\n<dd><p>Yes, use the <code>gf_regex_validation_presets<\/code> filter:<\/p>\n\n<pre><code>add_filter('gf_regex_validation_presets', function (array $presets): array {\n    $presets['zip_code'] = [\n        'label'   =&gt; 'US Zip Code',\n        'pattern' =&gt; '\/^\\d{5}(-\\d{4})?$\/',\n        'message' =&gt; 'Please enter a valid US zip code.',\n    ];\n\n    return $presets;\n});\n<\/code><\/pre><\/dd>\n<dt id=\"can%20i%20add%20support%20for%20additional%20field%20types%3F\"><h3>Can I add support for additional field types?<\/h3><\/dt>\n<dd><p>Yes, use the <code>gf_regex_validation_field_types<\/code> filter:<\/p>\n\n<pre><code>add_filter('gf_regex_validation_field_types', function (array $types): array {\n    $types[] = 'number';\n\n    return $types;\n});\n<\/code><\/pre><\/dd>\n<dt id=\"is%20client-side%20validation%20secure%3F\"><h3>Is client-side validation secure?<\/h3><\/dt>\n<dd><p>Client-side validation provides instant user feedback but should never be relied upon for security. This plugin always performs server-side validation as well, which cannot be bypassed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Admin field settings not appearing in Gravity Forms editor<\/li>\n<li>Improved: Code quality and WordPress coding standards compliance<\/li>\n<li>Enhanced: Development tooling for better maintainability<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: WordPress Plugin Check compliance issues<\/li>\n<li>Improved: Security and code standards<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Server-side and client-side regex validation<\/li>\n<li>Built-in presets for common patterns<\/li>\n<li>Unicode support with <code>\\p{L}<\/code> and <code>\\p{N}<\/code> character classes<\/li>\n<li>Name field compound input support<\/li>\n<li>Extensible via <code>gf_regex_validation_presets<\/code> and <code>gf_regex_validation_field_types<\/code> filters<\/li>\n<\/ul>","raw_excerpt":"Adds custom regex validation with Unicode support and presets to Gravity Forms fields.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/283273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=283273"}],"author":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dsturm"}],"wp:attachment":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=283273"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=283273"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=283273"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=283273"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=283273"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=283273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}