/*! * persiantools - v0.1.0 - 2013-07-26 * https://github.com/ebraminio/persiantools * Copyright (c) 2013 Ebrahim Byagowi; Licensed CC-by-SA 3.0 */ !function(a){"use strict";function b(a,b){return a.from-b.from}function c(a,c,d){for(var e,f,g,h,i,j,k,l=[];""!==a;){g=[];for(f in d)d.hasOwnProperty(f)&&(d[f].lastIndex=0,e=d[f].exec(a),null!==e&&g.push({from:e.index,to:e.index+e[0].length}));if(0===g.length){l.push(c(a));break}h=g.sort(b)[0],j=h.from,i=[];for(f in g)g.hasOwnProperty(f)&&g[f].from<=h.to&&i.push(g[f].to);k=Math.max.apply(null,i),l.push(c(a.substr(0,j))),l.push(a.substr(j,k-j)),a=a.substr(k)}return l.join("")}function d(a){return a.replace(/\u200c{2,}/g,"‌").replace(/([۰-۹0-9إأةؤورزژاآدذ،؛,\:«»\\\/@#$٪×\*\(\)ـ\-=\|])\u200c/g,"$1").replace(/\u200c([\w])/g,"$1").replace(/([\w])\u200c/g,"$1").replace(/\u200c([\n\s\[\]\.،«»\:\(\)\؛\؟\?\;\$\!\@\-\=\+\\])/g,"$1").replace(/([\n\s\[\.،«»\:\(\)\؛\؟\?\;\$\!\@\-\=\+\\])\u200c/g,"$1")}function e(a){var b;for(b in l)l.hasOwnProperty(b)&&(a=a.replace(new RegExp("["+l[b]+"]","g"),b));return d(a).replace(/ك/g,"ک").replace(/ي/g,"ی").replace(/ى/g,"ی").replace(/ۍ/g,"ی").replace(/ې/g,"ی").replace(/ہ/g,"ه").replace(/[ەھ]/g,"ه")}function f(a){var b=0;for(b=0;9>=b;b+=1)a=a.replace(new RegExp("["+n[b]+o[b]+"]","g"),m[b]);return a.replace(new RegExp("(["+m+"]) ?%","g"),"$1٪").replace(new RegExp("(["+m+"])\\.(?=["+m+"])","g"),"$1٫")}function g(a){return a.replace(/ه[\u200c\u200e\s]+ی([\s\n])/g,"هٔ$1").replace(/ه[\u200c\u200e\s]*[ءٔ]([\s\n])/g,"هٔ$1").replace(/(ۀ|هٓ)/g,"هٔ").replace(/ه\u200c[ئی]ی/g,"ه‌ای").replace(/([\u200c\u200e])([\s\n])/g,"$2").replace(/([\s\n])([\u200c\u200e])/g,"$1")}function h(a){return a.replace(/ی/g,"ي").replace(/ک/g,"ك").replace(/گ/g,"كی").replace(/ژ/g,"زی").replace(/چ/g,"جی").replace(/پ/g,"بی")}function i(a){return a.split("\n").sort(function(a,b){var c=h(a),d=h(b);return d>c?-1:c>d?1:0}).join("\n")}function j(a){return d(a).replace(new RegExp("(^|[^"+p+"])(می|نمی) ?"+q+"(م|ی|یم|ید|ند|)($|[^"+p+"])","g"),"$1$2‌$3$4$5").replace(new RegExp("(^|[^"+p+"])(می|نمی) ?"+r+"(م|ی|د|یم|ید|ند)($|[^"+p+"])","g"),"$1$2‌$3$4$5").replace(/(می|نمی) ?توان/g,"$1‌توان").replace(/\sها([\]\.،\:»\)\s])/g,"‌ها$1").replace(/\sها(ی|یی|یم|یت|یش|مان|تان|شان)([\]\.،\:»\)\s])/g,"‌ها$1$2").replace(/\n\*\s*(\=+.+?\=+\n)/g,"\n$1").replace(/(\n=+)(.*?)(?:'+)(.*?)(?:'+)(.*?)(=+\n)/g,"$1$2$3$4$5").replace(/\[\[\s*(.*?)\s*\]\]/g,"[[$1]]").replace(/(\{\{فم\}\}|\&zwnj\;|\u200c+)/g,"‌").replace(/(^\u200c|\u200c$)/gm,"").replace(new RegExp("ه\\s+(ام|ای|ایم|اید|اند)($|[^"+p+"])","g"),"ه‌$1$2").replace(/ا\sً/g,"اً")}function k(a){return a.replace(/([،\.])([^\s\.\(\)«»\"\[\]<>\d\w\{\}\|۰-۹])/g,"$1 $2").replace(/([\(«])\s/g,"$1").replace(/\s([\)»])/g,"$1").replace(/٬\s/g,"، ").replace(/\n\s{1,}\n/g,"\n\n").replace(/(\n\*.*?)\n+(?=\n\*)/g,"$1").replace(/(\n#.*?)\n+(?=\n#)/g,"$1").replace(/([^=]) *$/gm,"$1").replace(/ +\( +/g," (").replace(new RegExp("(["+p+"]) *\\( *(?=["+p+"])","g"),"$1 (").replace(new RegExp("(["+p+"]) *\\) *(?=["+p+"])","g"),"$1) ").replace(new RegExp("(["+p+"]) ?, ?(?=["+p+"])","g"),"$1، ").replace(/ *([؟،\:؛!\.])/g,"$1").replace(new RegExp("(["+p+"]+)([؟،؛!\\.])(["+p+"]+)","g"),"$1$2 $3")}var l,m,n,o,p,q,r;o="0123456789",n="٠١٢٣٤٥٦٧٨٩",p="ءاآأإئؤبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیةيكًٌٍَُِّْ",m="۰۱۲۳۴۵۶۷۸۹",String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),l={"‌ه":"ﻫ","ی‌":"ﻰﻲ","ﺃ":"ﺄﺃ","ﺁ":"ﺁﺂ","ﺇ":"ﺇﺈ","ا":"ﺎا","ب":"ﺏﺐﺑﺒ","پ":"ﭖﭗﭘﭙ","ت":"ﺕﺖﺗﺘ","ث":"ﺙﺚﺛﺜ","ج":"ﺝﺞﺟﺠ","چ":"ﭺﭻﭼﭽ","ح":"ﺡﺢﺣﺤ","خ":"ﺥﺦﺧﺨ","د":"ﺩﺪ","ذ":"ﺫﺬ","ر":"ﺭﺮ","ز":"ﺯﺰ","ژ":"ﮊﮋ","س":"ﺱﺲﺳﺴ","ش":"ﺵﺶﺷﺸ","ص":"ﺹﺺﺻﺼ","ض":"ﺽﺾﺿﻀ","ط":"ﻁﻂﻃﻄ","ظ":"ﻅﻆﻇﻈ","ع":"ﻉﻊﻋﻌ","غ":"ﻍﻎﻏﻐ","ف":"ﻑﻒﻓﻔ","ق":"ﻕﻖﻗﻘ","ک":"ﮎﮏﮐﮑﻙﻚﻛﻜ","گ":"ﮒﮓﮔﮕ","ل":"ﻝﻞﻟﻠ","م":"ﻡﻢﻣﻤ","ن":"ﻥﻦﻧﻨ","ه":"ﻩﻪﻫﻬ","هٔ":"ﮤﮥ","و":"ﻭﻮ","ﺅ":"ﺅﺆ","ی":"ﯼﯽﯾﯿﻯﻰﻱﻲﻳﻴ","ئ":"ﺉﺊﺋﺌ","لا":"ﻼ","ﻹ":"ﻺ","ﻷ":"ﻸ","ﻵ":"ﻶ"},q="(آراست|آرامید|آزرد|آزمود|آسود|آشامید|آشفت|آغازید|آغشت|آفرید|آگند|آلود|آمد|آمرزید|آموخت|آمیخت|آورد|آویخت|آهیخت|ارزید|افتاد|افراشت|افروخت|افزود|افسرد|افشاند|افگند|انباشت|انجامید|انداخت|اندوخت|اندود|اندیشید|انگاشت|انگیخت|اوباشت|ایستاد|باخت|بارید|بافت|بالید|بایست|بخشود|بخشید|برازید|برد|برید|بست|بسود|بسیجید|بلعید|بود|بوسید|بویید|بیخت|پاشید|پالود|پخت|پذیرفت|پراکند|پرداخت|پرستید|پرسید|پرورد|پرید|پژمرد|پژوهید|پسندید|پلاسید|پلکید|پناهید|پنداشت|پوسید|پوشید|پویید|پیچید|پیراست|پیمود|پیوست|تاخت|تافت|تپید|تراشید|تراوید|ترسید|ترشید|ترکید|تکاند|تکانید|تنید|توانست|جست|جُست|جَست|جنبید|جنگید|جوشید|جوید|جهید|چاپید|چایید|چپید|چربید|چرخید|چرید|چسبید|چشید|چکید|چلاند|چلانید|چمید|چید|خارید|خاست|خایید|خراشید|خرامید|خروشید|خرید|خزید|خست|خشکید|خلید|خمید|خوابید|خواست|خواند|خورد|خوفید|خیسید|داد|داشت|دانست|درخشید|دروید|درید|دزدید|دمید|دوخت|دوشید|دوید|دیدم|ربود|رخشید|رسید|رست|رَست|رُست|رشت|رفت|رُفت|روفت|رقصید|رمید|رنجید|رندید|رویید|ریخت|رید|زارید|زایید|زد|زدود|زیست|ساخت|سپرد|سپوخت|ستد|سترد|ستود|ستیزید|سرود|سرشت|سرید|سزید|سفت|سگالید|سنجید|سوخت|سود|شاشید|شایست|شتافت|شد|شست|شکافت|شکست|شکفت|شکیفت|شگفت|شمرد|شناخت|شنید|شورید|طلبید|طوفید|غارتید|غرید|غلطید|غنود|فرستاد|فرسود|فرمود|فروخت|فریفت|فشرد|فهمید|قاپید|قبولاند|کاست|کاشت|کاوید|کرد|کشت|کشید|مکشید|کفت|کفید|کند|کوچید|کوشید|کوفت|گایید|گداخت|گذاشت|گذشت|گرازید|گرایید|گردید|گرفت|گروید|گریخت|گریست|گزارد|گزید|گُزید|گَزید|گسارد|گسترد|گسست|گشت|گشود|گفت|گماشت|گنجید|گندید|گوارید|گوزید|لرزید|لغزید|لمدنی|لندید|لنگید|لهید|لیسید|ماسید|مالید|ماند|مرد|مکید|مولید|مویید|نازید|نالید|نامید|نشست|نکوهید|نگاشت|نگریست|نمود|نواخت|نوردید|نوشت|نوشید|نهاد|نهفت|نیوشید|ورزید|وزید|هراسید|هشت|یارست|یازید|یافت|مالاند|ریسید|پوشاند)",r="(آرای|آرام|آزار|آزمای|آسای|آشام|آشوب|آغاز|آغار|آفرین|آگن|آلای|آی|آمرز|آموز|آمیز|آور|آویز|آهنج|ارز|افت|افراز|افروز|افزای|افسر|افشان|افگن|انبار|انجام|انداز|اندوز|اندای|اندیش|انگار|انگیز|اوبار|ایست|باز|بار|باش|باف|بال|بای|بخشای|بخش|براز|بر|بُر|بَر|بند|بساو|بسیج|بلع|بو|بوس|بوی|بیز|پاش|پالای|پز|پذیر|پراکن|پرداز|پرست|پرس|پرور|پر|پژمر|پژوه|پسند|پلاس|پلک|پناه|پندار|پوس|پوش|پوی|پیچ|پیرای|پیمای|پیوند|تاز|تاب|تپ|توپ|تراش|تراو|ترس|ترش|ترک|تکان|تن|توان|جه|جوی|جنب|جنگ|جوش|جو|چاپ|چای|چپ|چرب|چرخ|چر|چسب|چش|چک|چلان|چم|چین|خار|خیز|خای|خراش|خرام|خروش|خر|خز|خست|خشک|خل|خم|خواب|خواه|خوان|خور|خوف|خیس|ده|دار|درخش|درو|در|دزد|دم|دوز|دوش|دو|بین|ربای|رخش|رس|ره|روی|رشت|رو|روب|رقص|رم|رنج|رند|روی|ریز|رین|زار|زای|زن|زدای|زی|ساز|سپر|سپوز|ستان|ستر|ستان|ستیز|سرای|سرشت|سر|سز|سنب|سگال|سنج|سوز|سای|شاش|شای|شتاب|شو|شوی|شکاف|شکن|شکوف|شکیب|شمر|شناس|شنو|شور|طلب|طوف|غارت|غر|غلط|غنو|فرست|فرسای|فرمای|فروش|فریب|فشر|فهم|قاپ|قبولان|کاه|کار|کاو|کن|کار|کُش|کش|کِش|کَش|کف|کن|کوچ|کوش|کوب|گای|گداز|گذار|گذر|گراز|گرای|گرد|گیر|گرو|گریز|گری|گزار|گز|گزین|گسار|گستر|گسل|گشای|گوی|گمار|گنج|گند|گوار|گوز|لرز|لغز|لم|لند|لنگ|له|لیس|ماس|مال|مان|میر|مک|مول|موی|ناز|نال|نام|نشین|نکوه|نگار|نگر|نمای|نواز|نورد|نویس|نوش|نه|نهنب|نیوش|ورز|وز|هراس|هل|یار|یاز|یاب|مال|ریس|پوشان)",a.persianTools=function(){function a(a){this.text=a,this.value=function(){return this.text}}function b(b){return new a(b)}function h(a){return function(){return this.text=a(this.text),this}}var l,m={applyOrthography:g,applyZwnj:j,cleanUselessZwnj:d,toPersianDigits:f,toStandardPersianCharacters:e,persianSortText:i,punctuation:k,replaceExcept:c};for(l in m)m.hasOwnProperty(l)&&(b[l]=m[l],a.prototype[l]=h(m[l]));return b}()}("object"==typeof exports?exports:this);