@chorkaichan/jp-phone-parser
Version:
A module parses numbers according to the Japanese phone number pattern.
7 lines (6 loc) • 9.99 kB
JavaScript
/*!
JpPhoneParser.js v1.1.0
https://github.com/chorkaichan/jp-phone-parser#readme
Released under the MIT License.
*/
var JpPhoneParser=function(){"use strict";const i={1:{1:[0,3],2:{0:[0,3],3:[0,2],4:[0,2],5:[0,2],6:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[0,1]}},3:{3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:{2:[0,1],4:[0,1],5:[-1,2],6:[-1,2],7:[0,1],8:[-1,2]},8:[0,2],9:{2:[0,1],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[0,1],8:[0,1]}},4:{2:[0,2],3:[0,2],4:[0,2],5:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[0,1],7:[0,1]},6:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[0,1]}},5:{2:[0,2],3:[0,2],4:{1:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[0,1],8:[-2,3],9:[-1,2]},5:{1:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-2,3],8:[0,1],9:[-1,2]},6:{2:[-1,2],3:[-1,2],4:[0,1],6:[-1,2],7:[-1,2]},7:[0,2],8:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[0,1],7:[0,1],8:[-1,2],9:[-1,2]}},6:{2:[0,2],3:{2:[0,1],4:[0,1],5:[0,1],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},4:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[0,1]},5:{2:[-1,2],3:[-1,2],4:[0,1],5:[0,1],6:[0,1],8:[0,1]},6:[0,2],7:[0,2]},7:{2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[-1,3],8:[0,2],9:[0,2]},8:{0:[0,0],2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[-1,3]},9:{1:[0,2],2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[-1,3],7:[0,2],8:[0,2],9:[-1,3]}},2:{0:{0:[0,5],1:[-1,3],2:[-1,3],3:[-1,3],4:[-1,3],5:[-1,3],6:[-1,3],7:[-1,3],8:[-1,3],9:[-1,3]},2:{0:[0,2],2:[-1,3],3:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-2,3],5:[-2,3],6:[-2,3],7:[-2,3],8:[-2,3],9:[-2,3]},4:[0,2],5:[0,2],6:[0,2],7:[-1,3],8:[0,2],9:[0,2]},3:{3:[0,2],4:[0,2],5:[0,2],6:[-1,3],7:[0,2],8:[0,2]},4:{0:[0,2],1:[0,2],2:[0,2],3:[0,2],4:[0,2],5:[-1,3],6:[0,2],7:[0,2],8:[0,2],9:[-1,3]},5:{0:[0,2],2:[-1,3],3:[-1,3],4:[0,2],5:{0:[-2,3],1:[-2,3],2:[-2,3],3:[-2,3],4:[-2,3],5:[-2,3],6:[-2,3],7:[-1,2],8:[-1,2],9:[-2,3]},6:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},7:{0:[-2,3],1:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-2,3],6:[-2,3],7:[-2,3],8:[-2,3],9:[-2,3]},8:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},9:[0,2]},6:{0:[0,2],1:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:{0:[-2,2],1:[-2,2],2:[-2,2],3:[-2,2],4:[-2,2],5:[-2,2],6:[-2,2],7:[-3,3],8:[-2,2],9:[-2,2]},8:[-1,2],9:[-1,2]},2:[-1,3],3:[0,2],4:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-2,3],7:[-2,3],8:[-2,3],9:[-2,3]},5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[0,2]},7:{0:[0,2],2:[-1,3],3:[-1,3],4:[0,2],6:[0,2],7:[0,2],8:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-2,3],9:[-2,3]},9:[0,2]},8:{0:[0,2],1:[-1,3],2:[0,2],3:{0:[-2,3],2:[-1,2],3:[-2,3],4:[-2,3],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},4:[0,2],5:[0,2],6:[-1,3],7:[0,2],8:[0,2],9:{0:[-2,3],1:[-2,3],2:[-2,3],3:[-2,3],4:[-2,3],5:[-2,3],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]}},9:{1:{1:[-1,2],3:[-1,2],4:[-1,2],7:[-2,3]},2:[-1,3],3:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-2,3],6:[-2,3],7:[-2,3],8:[-2,3],9:[-2,3]},4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[-1,3],9:[0,2]}},3:[0,4],4:{2:{0:[-2,4],2:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},3:[-1,3],4:[-1,3],5:[-1,3],6:[-1,3],7:[-1,3],8:{0:[-2,3],1:[-2,3],2:[-1,2],3:[-1,2],4:[-2,3],5:[-2,3],6:[-2,3],7:[-1,2],8:[-1,2],9:[-1,2]},9:{0:[-3,4],1:[-2,3],2:[-3,4],3:[-3,4],4:[-3,4],5:[-3,4],6:[-3,4],7:[-2,3],8:[-2,3],9:[-3,4]}},3:{2:[-1,3],3:[-1,3],4:[-1,3],6:[0,2],8:[0,2],9:[0,2]},4:[0,3],5:[0,3],6:{0:[0,2],2:[-1,3],3:[0,2],4:[-1,3],5:[0,2],6:[0,2],7:[0,2],8:[-1,3]},7:{0:{0:[-3,4],1:[-3,4],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-3,4]},1:[-2,4],3:[-1,3],4:[-1,3],5:[0,2],6:[0,2],7:[-1,3],8:[0,2],9:[0,2]},8:{0:[0,2],2:[-1,3],4:[-1,3],5:[-1,3],6:[-1,3],7:[-1,3],8:[-1,3],9:[-1,3]},9:{2:[-1,3],3:[0,2],4:[0,2],5:[0,2],9:{2:[0,1],4:[0,1],6:[0,1],8:[0,1]}}},5:{0:[0,4],2:[0,3],3:{1:[0,2],2:[0,2],3:[0,2],4:[-1,3],5:[-1,3],6:[0,2],7:[0,2],8:[0,2],9:{2:[-2,3],3:[-2,3],4:[-2,3],5:[-2,3],6:{0:[-2,2],1:[-2,2],2:[-2,2],3:[-2,2],4:[-3,3],5:[-3,3],6:[-3,3],7:[-3,3],8:[-3,3],9:[-3,3]},7:{0:[-3,3],1:[-3,3],2:[-3,3],3:[-3,3],4:[-2,2],5:[-3,3],6:[-3,3],7:[-2,2],8:[-3,3],9:[-3,3]},8:[-2,3],9:[-1,2]}},4:{2:[-1,3],3:[-1,3],4:[0,2],5:[0,2],6:[-1,3],7:[0,2],8:[0,2],9:[-1,3]},5:{0:[0,2],1:[0,2],2:[-1,3],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[-1,3]},6:{1:[0,2],2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[0,2]},7:{0:[0,3],2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[0,1]},7:[0,2],8:[0,2]},8:{1:[0,2],2:[-1,3],3:[-1,3],4:[0,2],5:[0,2],6:[0,2],7:[0,2]},9:{1:[-1,3],2:[-1,3],3:[-1,3],4:[0,2],5:[0,2],6:[0,2],7:{2:[-1,2],3:[-1,2],4:[-1,2],7:[-1,2],8:[-1,2],9:{0:[-2,2],1:[-2,2],2:[-1,1],3:[-1,1],4:[-1,1],5:[-1,1],6:[-1,1],7:[-2,2],8:[-2,2],9:[-1,1]}},8:[0,2],9:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-2,3]}}},6:[0,4],7:{0:[0,4],2:{1:[0,2],2:[-1,3],3:[-1,3],4:[-1,3],5:[0,2],6:[-1,3],7:[-1,3],8:[-1,3],9:[-1,3]},3:{4:[-1,3],5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[0,2]},4:{0:[0,2],2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:{3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],8:[0,1]},7:[0,2],8:[0,2],9:[0,2]},5:[0,3],6:{1:[0,2],2:[-1,3],3:[0,2],4:[-1,3],5:[0,2],6:[0,2],7:[0,2],8:[0,2]},7:{0:[0,2],1:[0,2],2:[0,2],3:[0,2],4:[0,2],5:[-1,3],6:[0,2],8:[0,2],9:[0,2]},8:[0,3],9:{0:[0,2],1:[0,2],2:[-1,3],3:[-1,3],4:{0:[-2,3],2:[-2,3],3:[-2,3],4:[-2,3],5:[-2,3],6:[-1,2],7:[-1,2],8:[-1,2],9:[-2,3]},5:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-2,3],6:[-2,3],7:[-1,2],8:[-1,2],9:[-2,3]},6:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-2,3],7:[-2,3],8:[-1,2],9:[-1,2]},7:[0,2],8:[0,2],9:[0,2]}},8:{0:{0:[0,3],1:[-1,4],2:[-1,4],3:[-1,4],4:[-1,4],5:[-1,4],6:[-1,4],7:[-1,4],8:[-1,4],9:[-1,4]},2:{0:[0,2],2:[-1,3],3:[0,2],4:{0:[-2,3],2:[-2,3],3:[-2,3],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-2,3]},5:[-1,3],6:[0,2],7:[0,2],8:[-1,3],9:{0:[-2,3],2:{0:[-2,2],1:[-3,3],2:[-3,3],3:[-3,3],4:[-3,3],5:[-3,3],6:[-3,3],7:[-3,3],8:[-3,3],9:[-3,3]},3:[-1,2],4:{0:[-2,2],1:[-3,3],2:[-3,3],3:[-3,3],4:[-2,2],5:[-2,2],6:[-2,2],7:[-2,2],8:[-2,2],9:[-2,2]},5:[-1,2],6:[-2,3],7:[-1,2],8:[-1,2],9:[-2,3]}},3:{2:[-1,3],3:[0,2],4:[0,2],5:[0,2],6:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},7:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:{0:[-2,2],1:[-2,2],2:[-2,2],3:[-2,2],4:[-2,2],5:[-2,2],6:[-3,3],7:[-3,3],8:[-3,3],9:[-2,2]},7:[-2,3],8:[-2,3]},8:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],7:[0,1],8:[0,1]},9:{0:[-2,3],1:[-2,3],2:[-2,3],3:[-2,3],4:[-2,3],5:[-2,3],6:{0:[-3,3],2:[-1,1],3:[-3,3],4:[-1,1],5:[-1,1],6:[-3,3],7:[-1,1],8:[-1,1],9:[-1,1]},7:[-2,3],8:[-2,3],9:[-2,3]}},4:{5:[0,2],6:[0,2],7:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[0,1],8:[-1,2],9:[-1,2]},8:[0,2],9:[-1,3]},5:{1:{2:[0,1],4:[0,1]},2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[0,2]},6:{2:[-1,3],3:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:{2:[-3,3],3:[-3,3],4:[-3,3],5:[-3,3],6:[-2,2],7:[-3,3],8:[-3,3],9:[-3,3]},7:[-1,2],8:[-1,2]},4:[-1,3],5:{0:[-1,2],1:[-1,2],2:[-2,3],4:[-1,2],5:{0:[-2,2],1:[-2,2],2:[-3,3],3:[-3,3],4:[-2,2],5:[-2,2],6:[-2,2],7:[-2,2],8:[-2,2],9:[-2,2]},6:[-1,2],7:[-1,2]},6:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:{0:[-2,2],1:[-3,3],2:[-2,2],3:[-2,2],4:[-2,2],5:[-2,2],6:[-2,2],7:[-3,3],8:[-3,3],9:[-2,2]}},7:{2:{0:[-2,2],1:[-2,2],2:[-3,3],3:[-3,3],4:[-3,3],5:[-2,2],6:[-3,3],7:[-2,2],8:[-3,3],9:[-2,2]},3:{0:[-2,2],1:[-2,2],2:[-2,2],3:[-2,2],4:[-2,2],5:[-2,2],6:[-2,2],7:[-3,3],8:[-3,3],9:[-2,2]},4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},8:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-2,3]},9:{0:[-2,3],2:[-1,2],3:{4:[-2,2]},4:[-2,3],5:[-2,3],6:[-1,2],7:[-1,2],8:[-1,2],9:{2:[-2,2],3:[-2,2],4:[-3,3],5:[-3,3],6:[-3,3],7:[-3,3],8:[-3,3],9:[-3,3]}}},7:{5:[0,2],7:[0,2],8:[-1,3],9:[0,2]},8:{0:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[-1,3],7:[0,2],8:[-1,3],9:[0,2]},9:{2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[-1,3]}},9:{0:[0,4],2:{0:[0,2],2:[-1,3],3:[-1,3],4:[-1,3],5:[-1,3],6:[-1,3],7:[-1,3],8:[-1,3],9:[-1,3]},3:{0:[0,2],2:[-1,3],3:[-1,3],4:[-1,3],5:[-1,3],6:[-1,3],7:[-1,3],8:[-1,3],9:[-1,3]},4:{0:[0,2],2:[0,2],3:[0,2],4:[0,2],6:[0,2],7:[0,2],8:[0,2],9:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[0,1]}},5:{0:[0,2],2:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[-1,3],9:[0,2]},6:{2:[-1,3],3:[-1,3],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[0,2],9:[0,2]},7:{2:[0,2],3:[0,2],4:[0,2],5:[-1,3],7:[0,2],8:[0,2],9:[0,2]},8:{0:{2:[0,1],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[-1,2]},2:[0,2],3:[0,2],4:[0,2],5:[0,2],6:[0,2],7:[0,2],8:[-1,3],9:[-1,3]},9:{0:[0,3],1:{2:[0,1],3:[0,1]},2:[-1,3],3:{2:[-1,2],3:{0:[-2,2],1:[-3,3],2:[-2,2],3:[-2,2],4:[-2,2],5:[-2,2],6:[-2,2],7:[-2,2],8:[-2,2],9:[-2,2]},4:{0:[-2,2],1:[-2,2],2:[-2,2],3:[-3,3],4:[-2,2],5:[-3,3],6:[-2,2],7:[-3,3],8:[-2,2],9:[-2,2]},5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2]},4:{0:[-2,3],2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-2,3],8:[-2,3],9:[-1,2]},5:[0,2],6:{2:[-1,2],3:[-1,2],4:[-1,2],5:[-1,2],6:[-1,2],7:[-1,2],8:[-1,2],9:[0,1]},7:[0,2],8:[-1,3]}}};return(t,r="-")=>{if("string"!=typeof t)return"";const n=t.replace(/[^0-9]/g,""),o=(t=>{if("0"!==t.slice(0,1))return!1;const r=i,n=t.slice(1,2);if(!n||!(n in r))return!1;const o=r[n];if(Array.isArray(o))return{depth:2,position:o};const s=t.slice(2,3);if(!s||!(s in o))return!1;const e=o[s];if(Array.isArray(e))return{depth:3,position:e};const p=t.slice(3,4);if(!p||!(p in e))return!1;const c=e[p];if(Array.isArray(c))return{depth:4,position:c};const u=t.slice(4,5);if(!u||!(u in c))return!1;const h=c[u];if(Array.isArray(h))return{depth:5,position:h};const a=t.slice(5,6);if(!a||!(a in h))return!1;const f=h[a];return!!Array.isArray(f)&&{depth:6,position:f}})(n);return o?`${n.slice(0,o.depth+o.position[0])}${n.length>o.depth+o.position[0]?r:""}${n.slice(o.depth+o.position[0],o.depth+o.position[0]+o.position[1])}${o.position[1]>0&&n.length>o.depth+o.position[0]+o.position[1]?r:""}${n.slice(o.depth+o.position[0]+o.position[1])}`:n}}();