|
|
function r(r){if(null==r||""===r)return"";const e=String(r);if(!e.trim())return"";if(!e.includes("<")&&!/&[a-zA-Z#0-9]+;|&#[0-9]+;|&#x[0-9a-fA-F]+;/i.test(e))return e.replace(/\s+/gu," ").replace(/\r?\n/g," ").trim();let t=e.replace(/<br\s*\/?>/gi," ");return t=t.replace(/<\/(p|div|h[1-6]|li|tr|td)>/gi," "),t=t.replace(/<[^>]+>/g," "),t=t.replace(/ /gi," "),t=t.replace(/&[lL][tT];/g,"<"),t=t.replace(/&[gG][tT];/g,">"),t=t.replace(/&[aA][mM][pP];/g,"&"),t=t.replace(/&[qQ][uU][oO][tT];/g,'"'),t=t.replace(/&[aA]pos;/g,"'"),t=t.replace(/&#(\d+);/g,(r,e)=>{const t=parseInt(e,10);return t>=0&&t<1114112&&!Number.isNaN(t)?String.fromCodePoint(t):""}),t=t.replace(/&#x([0-9a-fA-F]+);/gi,(r,e)=>{const t=parseInt(e,16);return t>=0&&t<1114112&&!Number.isNaN(t)?String.fromCodePoint(t):""}),t=t.replace(/\s+/gu," ").trim(),t}function e(r){return String(r??"").replace(/\s/gu,"")}const t=/[省市区县]/g;function n(r){const e=r.trim();if(!e)return e;const t=e.match(/^(.{2,})的$/u);return t?t[1]:e}function o(r,e){const t=(r||"").trim();if(!t)return!1;const o=t.toLowerCase();for(const i of function(r){const e=r.trim();if(!e)return[];const t=n(e);return t!==e&&t?[e,t]:[e]}(e))if(i.toLowerCase()===o)return!0;return!1}function i(r,e){const n=e.trim();if(!n)return!0;const o=(r??"").toLowerCase(),i=n.toLowerCase();if(o.includes(i))return!0;const s=o.replace(t,"");if(s.includes(i))return!0;const c=i.replace(t,"");return!!c&&(!!o.includes(c)||!!s.includes(c))}function s(r,e){if(!e)return!1;const n=e.trim().toLowerCase();if(!n)return!1;if(r.includes(n))return!0;const o=r.replace(t,""),i=n.replace(t,"");return!(!i||!o.includes(i))}const c=new Set("省市区县镇乡村街道路号的了呢啊吧嘛之与和或及".split(""));function u(r,e){const t=e.trim().toLowerCase();if(!t)return!1;for(const n of t)if(!(n<"一"||n>"鿿")&&!c.has(n)&&s(r,n))return!0;return!1}function f(r,e){const t=(r||"").toLowerCase(),n=e.trim().toLowerCase();if(!n||!t)return!1;const o=n.split(/[\s\u3000、,,]+/).filter(r=>r.length);if(o.length>=2)return!!o.some(r=>s(t,r))||u(t,n);if(2===n.length)return!!s(t,n)||u(t,n);if(3===n.length)return!!s(t,n)||(!(!s(t,n.slice(0,2))&&!s(t,n.slice(1,3)))||u(t,n));if(n.length<4)return u(t,n);if(n.length%2==0){const r=n.length/2,e=n.slice(0,r),o=n.slice(r);if(s(t,e)||s(t,o))return!0}else{const r=(n.length-1)/2;if(s(t,n.slice(0,r))||s(t,n.slice(r)))return!0;const e=(n.length+1)/2;if(s(t,n.slice(0,e))||s(t,n.slice(e)))return!0}return u(t,n)}function l(r,e,t){const o=e.trim();if(!o)return!0;const s=n(o),c=s!==o&&s?[o,s]:[o],u=(t??"").trim();for(const n of c)if(u&&u.toLowerCase()===n.toLowerCase())return!0;for(const n of c)if(i(r??"",n))return!0;for(const n of c)if(u&&f(u,n))return!0;const l=(r??"").toLowerCase();for(const n of c)if(f(l,n))return!0;return!1}"零一二三四五六七八九十百千万两第壹贰叁肆伍陆柒捌玖拾佰仟".split("").forEach(r=>c.add(r));export{l as a,r as h,o as m,e as s};
|