1const beforeSubmit = (e) => { 2 e.preventDefault(); 3 grecaptcha.ready(() => { 4 grecaptcha.execute('6LdH5AUrAAAAAAHuBNu5zNeXuoeiA3LogS4y3307', { action: 'homepage' }).then((token) => { 5 let recaptchaResponse = document.getElementById('recaptchaResponse'); 6 recaptchaResponse.value = token; 7 let url = new URL(window.location.href); 8 let params = url.searchParams; 9 let utm_source = document.getElementById('utm_source'); 10 let utm_medium = document.getElementById('utm_medium'); 11 let utm_campaign = document.getElementById('utm_campaign'); 12 let utm_content = document.getElementById('utm_content'); 13 let utm_term = document.getElementById('utm_term'); 14 utm_source.value = params.get('utm_source'); 15 utm_medium.value = params.get('utm_medium'); 16 utm_campaign.value = params.get('utm_campaign'); 17 utm_content.value = params.get('utm_content'); 18 utm_term.value = params.get('utm_term'); 19 }).then(() => { 20 if (validate()) { 21 document.forms['contactForm'].submit(); 22 } 23 }) 24 }); 25} 26 27const FORM_NAME_LIST = { 28 name: "æ°å", 29 name_kana: "ããªã¬ã", 30 corporate_name: "æ³äººå", 31 corporate_name_kana: "æ³äººåããªã¬ã", 32 department: "é¨ç½²å", 33 position: "å½¹è·", 34 input_main_tp: "é»è©±çªå·", 35 input_main_em: "ã¡ã¼ã«ã¢ãã¬ã¹", 36 area: "é½éåºç", 37 content: "ãåãåããå 容", 38 consult_date_1: "第1å¸æã®æ¥ä»", 39 consult_date_2: "第2å¸æã®æ¥ä»", 40 consult_date_3: "第3å¸æã®æ¥ä»", 41 consult_time_1: "第1å¸æã®æé", 42 consult_time_2: "第2å¸æã®æé", 43 consult_time_3: "第3å¸æã®æé", 44}; 45const validate = () => { 46 let result = true; 47 let consultDateTimeList = []; 48 Object.keys(FORM_NAME_LIST).forEach((key) => { 49 let elements = document.getElementsByName(key); 50 let error_selector = `${key}_error_box`; 51 let error_elements = document.getElementById(error_selector); 52 if (error_elements) error_elements.textContent = ""; 53 54 if ( 55 key === "name" || 56 key === "name_kana" || 57 key === "corporate_name" || 58 key === "corporate_name_kana" || 59 key === "department" || 60 key === "position" || 61 key === "input_main_tp" || 62 key === "input_main_em" || 63 key === "area" 64 ) { 65 if (elements[0].value.toString().length > 255) { 66 error_elements.textContent = `ã${FORM_NAME_LIST[key]}ãã¯255æå以ä¸ã§å ¥åãã¦ãã ãã`; 67 result = false;
68 return; 69 } 70 } 71 72 if ( 73 key === "content" 74 ) { 75 if (elements[0].value.toString().length > 1000) { 76 error_elements.textContent = `ã${FORM_NAME_LIST[key]}ãã¯1000æå以ä¸ã§å ¥åãã¦ãã ãã`; 77 result = false; 78 return; 79 } 80 } 81 82 if ( 83 key === "name" || 84 key === "name_kana" || 85 key === "corporate_name" || 86 key === "corporate_name_kana" || 87 key === "input_main_tp" || 88 key === "input_main_em" || 89 key === "area" 90 ) { 91 if (elements[0].value === "") { 92 error_elements.textContent = `ã${FORM_NAME_LIST[key]}ããå ¥åããã¦ãã¾ãã`; 93 result = false; 94 return; 95 } 96 } 97 98 if (key === "name_kana") { 99 if (!elements[0].value.match(/^[ã¡-ã¶ã¼ ã]*$/)) { 100 error_elements.textContent = "ãããªã¬ããã¯ã«ã¿ã«ãã§å ¥åãã¦ãã ãã"; 101 result = false;
102 return; 103 } 104 } 105 106 if (key === "corporate_name_kana") { 107 if (!elements[0].value.match(/^[ã¡-ã¶ã¼ ã]*$/)) { 108 error_elements.textContent = "ãæ³äººåããªã¬ããã¯ã«ã¿ã«ãã§å ¥åãã¦ãã ãã"; 109 result = false; 110 return; 111 } 112 } 113 114 if (key === "input_main_em") { 115 if (!elements[0].value.match(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/)) { 116 error_elements.textContent = "ãã¡ã¼ã«ã¢ãã¬ã¹ãã®å½¢å¼ã«èª¤ããããã¾ã"; 117 result = false; 118 return; 119 } 120 } 121 122 if (key === "input_main_tp") { 123 if (!elements[0].value.match(/^[0-9\-]*$/)) { 124 error_elements.textContent = `ã${FORM_NAME_LIST[key]}ãã¯æ°åã§å ¥åãã¦ãã ãã`; 125 result = false; 126 return; 127 } 128 129 const pattern = /^(0[789]0-\d{4}-\d{4}|0\d{1,4}-\d{2,4}-\d{4}|\d{10,11})$/; 130 if (!pattern.test(elements[0].value)) { 131 error_elements.textContent = `ã${FORM_NAME_LIST[key]}ãã®å½¢å¼ã«èª¤ããããã¾ã`; 132 result = false;
133 return; 134 } 135 } 136 137 if (key.includes("consult_date_")) { 138 let consultId = Number(key.split("_")[2]); 139 let consultTimeName = `consult_time_${consultId}`; 140 let consultTimeEl = document.getElementsByName(consultTimeName); 141 let bothSelected = elements[0].value !== "" && consultTimeEl[0].value !== ""; 142 let eitherSelected = elements[0].value !== "" || consultTimeEl[0].value !== ""; 143 144 if (eitherSelected && document.getElementsByName("consult_date_1")[0].value === "") { 145 document.getElementById("consult_date_1_error_box").textContent = "ã第1叿ãã鏿ããã¦ãã¾ãã"; 146 result = false; 147 return; 148 } 149 150 if (eitherSelected && consultId === 3 && document.getElementsByName("consult_date_2")[0].value === "") { 151 document.getElementById("consult_date_2_error_box").textContent = "ã第2叿ãã鏿ããã¦ãã¾ãã"; 152 result = false;
153 return; 154 } 155 156 if (elements[0].value === "" && consultTimeEl[0].value !== "") { 157 error_elements.textContent = `ã${FORM_NAME_LIST[key]}ãã鏿ããã¦ãã¾ãã`; 158 result = false; 159 return; 160 } 161 if (elements[0].value !== "" && consultTimeEl[0].value === "") { 162 error_elements.textContent = `ã${FORM_NAME_LIST[consultTimeName]}ãã鏿ããã¦ãã¾ãã`; 163 result = false; 164 return; 165 } 166 167 let consultDateTime = `${elements[0].value} ${consultTimeEl[0].value}`; 168 if (bothSelected && consultDateTimeList.includes(consultDateTime)) { 169 let index = consultDateTimeList.indexOf(consultDateTime); 170 error_elements.textContent = `ã第${index+1}叿ãã¨åãæ¥æã鏿ããã¦ãã¾ã`; 171 result = false; 172 return; 173 } 174 consultDateTimeList.push(consultDateTime); 175 } 176 177 }); 178 return result; 179}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.