HEX
Server: LiteSpeed
System: Linux node612.namehero.net 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: dfwparty (1186)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/dfwparty/santadallas.com/wp-content/plugins/ws-form-pro/public/js/ws-form-public-ssn.js
(function($) {

	'use strict';

	// Form SSN
	$.WS_Form.prototype.form_ssn = function() {

		var ws_this = this;

		$('[data-wsf-ssn]:not([data-init-wsf-ssn])', this.form_canvas_obj).each(function() {

			// Initial processing
			var hidden_obj = ws_this.form_ssn_get_hidden_obj($(this));
			ws_this.form_ssn_update(hidden_obj.val().replace(/\D/g, ''), $(this), hidden_obj);

			// On input
			$(this).on('input', function(e) {

				// Get hidden object
				var hidden_obj = ws_this.form_ssn_get_hidden_obj($(this));

				// Get full SSN from hidden object
				var ssn_full = hidden_obj.val().replace(/\D/g, '');

				// Get raw value from input
				var ssn = $(this).val().replace(/\D/g, '');

				// Get key
				var key = (e.originalEvent && e.originalEvent.inputType);

				if(key === 'deleteContentBackward') {

					// Backspace
					ssn_full = ssn_full.slice(0, -1);

				} else {

					// Get new character
					var char_new = $(this).val().slice(-1);

					// Add new character to full SSN if it is numeric
					if(
						/^\d+$/.test(char_new) &&
						(ssn_full.length < 9) &&
						char_new
					) {
						ssn_full += char_new;
					}
				}

				// Update SSN
				ws_this.form_ssn_update(ssn_full, $(this), hidden_obj);
			});

			// On paste, replace full SSN
			$(this).on('paste', function(e) {

				e.preventDefault();

				// Get hidden object
				var hidden_obj = ws_this.form_ssn_get_hidden_obj($(this));

				// Get pasted data
				var pasted_string = (e.originalEvent.clipboardData || window.clipboardData).getData('text').replace(/\D/g, '').slice(0, 9);

				// Update the masked input field
				ws_this.form_ssn_update(pasted_string, $(this), hidden_obj);
			});

			// Set field as initialized
			$(this).attr('data-init-wsf-ssn', '');
		});
	}

	$.WS_Form.prototype.form_ssn_update = function(ssn_full, input_obj, hidden_obj) {

		// Get field ID
		var field_id = this.get_field_id(input_obj);

		// Get field config
		var field = this.field_data_cache[field_id];

		// Build SSN output
		switch(this.get_object_meta_value(field, 'ssn_mask', '###-##-9999')) {

			case 'full' :

				var ssn_input = this.form_ssn_format_dashed_mask_full(ssn_full);
				break;

			case 'partial' :

				var ssn_input = this.form_ssn_format_dashed_mask_partial(ssn_full);
				break;

			case 'partial_show_as_type' :

				var ssn_input = this.form_ssn_format_dashed_mask_partial_show_as_type(ssn_full);
				break;

			default :

				var ssn_input = this.form_ssn_format_dashed(ssn_full);
		}

		// Set input object
		input_obj.val(ssn_input);

		// Build SSN output
		if(this.get_object_meta_value(field, 'ssn_format', 'dashed') === 'dashed') {

			var ssn_output = this.form_ssn_format_dashed(ssn_full);

			var ssn_regex = /^(?!219-09-9999|078-05-1120)(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}$/;

		} else {

			var ssn_output = ssn_full;

			var ssn_regex = /^(?!219099999|078051120)(?!666|000|9\d{2})\d{3}(?!00)\d{2}(?!0{4})\d{4}$/;
		}

		// Set hidden object
		hidden_obj.val(ssn_output);

		// Validate
		var validated = ssn_regex.test(ssn_output);

		if(validated) {

			this.set_invalid_feedback(input_obj, '');

		} else {

			this.set_invalid_feedback(input_obj, false);
		}
	}

	$.WS_Form.prototype.form_ssn_format_dashed = function(ssn) {

		var ssn_output = '';

		if (ssn.length === 1) {
			ssn_output = ssn;
		} else if (ssn.length === 2) {
			ssn_output = ssn[0] + ssn[1];
		} else if (ssn.length === 3) {
			ssn_output = ssn[0] + ssn[1] + ssn[2];
		} else if (ssn.length === 4) {
			ssn_output = ssn[0] + ssn[1] + ssn[2] + '-' + ssn[3];
		} else if (ssn.length === 5) {
			ssn_output = ssn[0] + ssn[1] + ssn[2] + '-' + ssn[3] + ssn[4];
		} else if (ssn.length === 6) {
			ssn_output = ssn[0] + ssn[1] + ssn[2] + '-' + ssn[3] + ssn[4] + '-' + ssn[5];
		} else if (ssn.length === 7) {
			ssn_output = ssn[0] + ssn[1] + ssn[2] + '-' + ssn[3] + ssn[4] + '-' + ssn[5] + ssn[6];
		} else if (ssn.length === 8) {
			ssn_output = ssn[0] + ssn[1] + ssn[2] + '-' + ssn[3] + ssn[4] + '-' + ssn[5] + ssn[6] + ssn[7];
		} else if (ssn.length === 9) {
			ssn_output = ssn[0] + ssn[1] + ssn[2] + '-' + ssn[3] + ssn[4] + '-' + ssn[5] + ssn[6] + ssn[7] + ssn[8];
		}

		return ssn_output;
	}

	$.WS_Form.prototype.form_ssn_format_dashed_mask_partial_show_as_type = function(ssn) {

		var ssn_output = '';

		if (ssn.length === 1) {
			ssn_output = ssn;
		} else if (ssn.length === 2) {
			ssn_output = '*' + ssn[1];
		} else if (ssn.length === 3) {
			ssn_output = '**' + ssn[2];
		} else if (ssn.length === 4) {
			ssn_output = '***-' + ssn[3];
		} else if (ssn.length === 5) {
			ssn_output = '***-*' + ssn[4];
		} else if (ssn.length === 6) {
			ssn_output = '***-**-' + ssn[5];
		} else if (ssn.length === 7) {
			ssn_output = '***-**-' + ssn[5] + ssn[6];
		} else if (ssn.length === 8) {
			ssn_output = '***-**-' + ssn[5] + ssn[6] + ssn[7];
		} else if (ssn.length === 9) {
			ssn_output = '***-**-' + ssn[5] + ssn[6] + ssn[7] + ssn[8];
		}

		return ssn_output;
	}

	$.WS_Form.prototype.form_ssn_format_dashed_mask_partial = function(ssn) {

		var ssn_output = '';

		if (ssn.length === 1) {
			ssn_output = '*';
		} else if (ssn.length === 2) {
			ssn_output = '**';
		} else if (ssn.length === 3) {
			ssn_output = '***';
		} else if (ssn.length === 4) {
			ssn_output = '***-*';
		} else if (ssn.length === 5) {
			ssn_output = '***-**';
		} else if (ssn.length === 6) {
			ssn_output = '***-**-' + ssn[5];
		} else if (ssn.length === 7) {
			ssn_output = '***-**-' + ssn[5] + ssn[6];
		} else if (ssn.length === 8) {
			ssn_output = '***-**-' + ssn[5] + ssn[6] + ssn[7];
		} else if (ssn.length === 9) {
			ssn_output = '***-**-' + ssn[5] + ssn[6] + ssn[7] + ssn[8];
		}

		return ssn_output;
	}

	$.WS_Form.prototype.form_ssn_format_dashed_mask_full = function(ssn) {

		var ssn_output = '';

		if (ssn.length === 1) {
			ssn_output = '*';
		} else if (ssn.length === 2) {
			ssn_output = '**';
		} else if (ssn.length === 3) {
			ssn_output = '***';
		} else if (ssn.length === 4) {
			ssn_output = '***-*';
		} else if (ssn.length === 5) {
			ssn_output = '***-**';
		} else if (ssn.length === 6) {
			ssn_output = '***-**-*';
		} else if (ssn.length === 7) {
			ssn_output = '***-**-**';
		} else if (ssn.length === 8) {
			ssn_output = '***-**-***';
		} else if (ssn.length === 9) {
			ssn_output = '***-**-****';
		}

		return ssn_output;
	}

	$.WS_Form.prototype.form_ssn_get_hidden_obj = function(input_obj) {

		return $('~ input[data-wsf-ssn-hidden]', input_obj);
	}

})(jQuery);