Comparing version 0.0.4 to 0.2.0
@@ -1,1 +0,1 @@ | ||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.vnStr=n():t.vnStr=n()}(this,(function(){return t={45:(t,n,o)=>{t.exports.numToText=o(325),t.exports.rmVnTones=o(100),t.exports.rmNonAlphanumeric=o(111),t.exports.strToTelex=o(277),t.exports.strToVNI=o(911)},325:t=>{var n=["không","một","hai","ba","bốn","năm","sáu","bảy","tám","chín"],o=["mười","hai mươi","ba mươi","bốn mươi","năm mươi","sáu mươi","bảy mươi","tám mươi","chín mươi"],e=["không trăm","một trăm","hai trăm","ba trăm","bốn trăm","năm trăm","sáu trăm","bảy trăm","tám trăm","chín trăm"],r=function(t){var e="".concat(t).split(""),r=parseInt(e[0]),a=parseInt(e[1]);return 0===a?o[r-1]:5===a?"".concat(o[r-1]," lăm"):4===a?"".concat(o[r-1]," tư"):1===a?"".concat(o[r-1],1===r?" một":" mốt"):"".concat(o[r-1]," ").concat(n[a])},a=function(t){var o="".concat(t).split(""),a=parseInt(o[0]),c=parseInt(o[1]),i=parseInt(o[2]);return c>0?"".concat(e[a]," ").concat(r("".concat(c).concat(i))):0===i?"".concat(e[a]):4===i?"".concat(e[a]," linh tư"):"".concat(e[a]," linh ").concat(n[i])},c=function(t){var o="".concat(t).split("").reverse(),e=o.slice(0,3).reverse().join(""),c=parseInt(o.slice(3,o.length).reverse().join("")),i="".concat(c).length,s="";return parseInt(e)>1&&(s=a(e)),1===i?"".concat(n[c]," nghìn ").concat(s):2===i?"".concat(r(c)," nghìn ").concat(s):"".concat(a(c)," nghìn ").concat(s)},i=function(t){var o="".concat(t).split("").reverse(),e=o.slice(0,6).reverse().join(""),i=parseInt(o.slice(6,o.length).reverse().join("")),s="".concat(i).length,u="";return parseInt(e)>999?u=c(e):parseInt(e)<=999&&parseInt(e)>=1&&(u=a("".concat(e).split("").slice(3,6).join(""))),1===s?"".concat(n[i]," triệu ").concat(u):2===s?"".concat(r(i)," triệu ").concat(u):"".concat(a(i)," triệu ").concat(u)},s=function t(o){var e="".concat(o).split("").reverse(),s=e.slice(0,9).reverse().join(""),u=parseInt(e.slice(9,e.length).reverse().join("")),p="";parseInt(s)>999999&&parseInt(s)<=999999999?p=i(s):parseInt(s)<=999999&&parseInt(s)>999?p=c("".concat(s).split("").slice(3,9).join("")):parseInt(s)<=999&&parseInt(s)>=1&&(p=a("".concat(s).split("").slice(6,9).join("")));var m="".concat(u).length;return 1===m?"".concat(n[u]," tỷ ").concat(p):2===m?"".concat(r(u)," tỷ ").concat(p):3===m?"".concat(a(u)," tỷ ").concat(p):m>3&&m<=6?"".concat(c(u)," tỷ ").concat(p):m>6&&m<=9?"".concat(i(u)," tỷ ").concat(p):m>9?"".concat(t(u)," tỷ ").concat(p):void 0};t.exports=function t(o){if(!Number.isInteger(o))throw new Error("Input is not a number");if(Math.abs(o)>9007199254740992)throw new Error("Your number is too big");if(o<0)return"âm ".concat(t(Math.abs(o)));var e="".concat(o).length;return 1===e?n[o]:2===e?r(o):3===e?a(o):e>3&&e<=6?c(o):e>6&&e<=9?i(o):e>9?s(o):null}},111:t=>{t.exports=function(t){return t.replace(/[^0-9a-zàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđ\s]/gi,"")}},100:t=>{t.exports=function(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"D")}},277:t=>{var n={á:"as",à:"af",ả:"ar",ã:"ax",ạ:"aj",ắ:"aws",ằ:"awf",ẳ:"awr",ẵ:"awx",ặ:"awj",ă:"aw",ấ:"aas",ầ:"aaf",ẩ:"aar",ẫ:"aax",ậ:"aaj",â:"aa",đ:"dd",é:"es",è:"ef",ẻ:"er",ẽ:"ex",ẹ:"ej",ế:"ees",ề:"eef",ể:"eer",ễ:"eex",ệ:"eej",ê:"ee",í:"is",ì:"if",ỉ:"ir",ĩ:"ix",ị:"ij",ó:"os",ò:"of",ỏ:"or",õ:"ox",ọ:"oj",ố:"oos",ồ:"oof",ổ:"oor",ỗ:"oox",ộ:"ooj",ô:"oo",ớ:"ows",ờ:"owf",ở:"owr",ỡ:"owx",ợ:"owj",ơ:"ow",ú:"us",ù:"uf",ủ:"ur",ũ:"ux",ụ:"uj",ứ:"uws",ừ:"uwf",ử:"uwr",ữ:"uwx",ự:"uwj",ư:"uw",ý:"ys",ỳ:"yf",ỷ:"yr",ỹ:"yx",ỵ:"yj"};t.exports=function(t){return t.split("").map((function(t){return n[t]||t})).join("")}},911:t=>{var n={á:"a1",à:"a2",ả:"a3",ã:"a4",ạ:"a5",ắ:"a81",ằ:"a82",ẳ:"a83",ẵ:"a84",ặ:"a85",ă:"a8",ấ:"a61",ầ:"a62",ẩ:"a63",ẫ:"a64",ậ:"a65",â:"a6",đ:"d9",é:"e1",è:"e2",ẻ:"e3",ẽ:"e4",ẹ:"e5",ế:"e61",ề:"e62",ể:"e63",ễ:"e64",ệ:"e65",ê:"e6",í:"i1",ì:"i2",ỉ:"i3",ĩ:"i4",ị:"i5",ó:"o1",ò:"o2",ỏ:"o3",õ:"o4",ọ:"o5",ố:"o61",ồ:"o62",ổ:"o63",ỗ:"o64",ộ:"o65",ô:"o6",ớ:"o71",ờ:"o72",ở:"o73",ỡ:"o74",ợ:"o75",ơ:"o7",ú:"u1",ù:"u2",ủ:"u3",ũ:"u4",ụ:"u5",ứ:"u71",ừ:"u72",ử:"u73",ữ:"u74",ự:"u75",ư:"u7",ý:"y1",ỳ:"y2",ỷ:"y3",ỹ:"y4",ỵ:"y5"};t.exports=function(t){return t.split("").map((function(t){return n[t]||t})).join("")}}},n={},function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,o),a.exports}(45);var t,n})); | ||
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.vnStr=r():e.vnStr=r()}(this,(function(){return(()=>{var e={492:(e,r,t)=>{var n=t(665).H,o=t(54).i,i=t(500),a=i.rmNonAlphanumeric,s=i.rmVnTones,u=t(31),p=u.strToTelex,m=u.strToVNI;e.exports.isVietnamesePhoneNumber=n,e.exports.numToText=o,e.exports.rmNonAlphanumeric=a,e.exports.rmVnTones=s,e.exports.strToTelex=p,e.exports.strToVNI=m},54:(e,r,t)=>{"use strict";t.d(r,{i:()=>l});var n=["không","một","hai","ba","bốn","năm","sáu","bảy","tám","chín"],o=["mười","hai mươi","ba mươi","bốn mươi","năm mươi","sáu mươi","bảy mươi","tám mươi","chín mươi"],i=["không trăm","một trăm","hai trăm","ba trăm","bốn trăm","năm trăm","sáu trăm","bảy trăm","tám trăm","chín trăm"];function a(e){var r=(""+e).split(""),t=parseInt(r[0]),i=parseInt(r[1]);return 0===i?o[t-1]:5===i?o[t-1]+" lăm":4===i?o[t-1]+" tư":1===i?1===t?o[t-1]+" một":o[t-1]+" mốt":o[t-1]+" "+n[i]}function s(e){var r=(""+e).split(""),t=parseInt(r[0]),o=parseInt(r[1]),s=parseInt(r[2]);return o>0?i[t]+" "+a(""+o+s):0===s?""+i[t]:4===s?i[t]+" linh tư":i[t]+" linh "+n[s]}function u(e){var r=(""+e).split("").reverse(),t=r.slice(0,3).reverse().join(""),o=parseInt(r.slice(3,r.length).reverse().join("")),i=(""+o).length,u="";return parseInt(t)>1&&(u=s(t)),1===i?n[o]+" nghìn "+u:2===i?a(""+o)+" nghìn "+u:s(""+o)+" nghìn "+u}function p(e){var r=(""+e).split("").reverse(),t=r.slice(0,6).reverse().join(""),o=parseInt(r.slice(6,r.length).reverse().join("")),i=(""+o).length,p="";return parseInt(t)>999?p=u(t):parseInt(t)<=999&&parseInt(t)>=1&&(p=s((""+t).split("").slice(3,6).join(""))),1===i?n[o]+" triệu "+p:2===i?a(""+o)+" triệu "+p:s(""+o)+" triệu "+p}function m(e){var r=(""+e).split("").reverse(),t=r.slice(0,9).reverse().join(""),o=parseInt(r.slice(9,r.length).reverse().join("")),i="";parseInt(t)>999999&&parseInt(t)<=999999999?i=p(t):parseInt(t)<=999999&&parseInt(t)>999?i=u((""+t).split("").slice(3,9).join("")):parseInt(t)<=999&&parseInt(t)>=1&&(i=s((""+t).split("").slice(6,9).join("")));var l=(""+o).length;return 1===l?n[o]+" tỷ "+i:2===l?a(""+o)+" tỷ "+i:3===l?s(""+o)+" tỷ "+i:l>3&&l<=6?u(""+o)+" tỷ "+i:l>6&&l<=9?p(""+o)+" tỷ "+i:l>9?m(""+o)+" tỷ "+i:void 0}function l(e){if(e<0)return"âm "+l(Math.abs(e));var r=(""+e).length;return 1===r?n[e].trim():2===r?a(""+e).trim():3===r?s(""+e).trim():r>3&&r<=6?u(""+e).trim():r>6&&r<=9?p(""+e).trim():r>9?m(""+e).trim():null}},31:(e,r,t)=>{"use strict";t.r(r),t.d(r,{strToTelex:()=>i,strToVNI:()=>a});var n={á:"as",à:"af",ả:"ar",ã:"ax",ạ:"aj",ắ:"aws",ằ:"awf",ẳ:"awr",ẵ:"awx",ặ:"awj",ă:"aw",ấ:"aas",ầ:"aaf",ẩ:"aar",ẫ:"aax",ậ:"aaj",â:"aa",đ:"dd",é:"es",è:"ef",ẻ:"er",ẽ:"ex",ẹ:"ej",ế:"ees",ề:"eef",ể:"eer",ễ:"eex",ệ:"eej",ê:"ee",í:"is",ì:"if",ỉ:"ir",ĩ:"ix",ị:"ij",ó:"os",ò:"of",ỏ:"or",õ:"ox",ọ:"oj",ố:"oos",ồ:"oof",ổ:"oor",ỗ:"oox",ộ:"ooj",ô:"oo",ớ:"ows",ờ:"owf",ở:"owr",ỡ:"owx",ợ:"owj",ơ:"ow",ú:"us",ù:"uf",ủ:"ur",ũ:"ux",ụ:"uj",ứ:"uws",ừ:"uwf",ử:"uwr",ữ:"uwx",ự:"uwj",ư:"uw",ý:"ys",ỳ:"yf",ỷ:"yr",ỹ:"yx",ỵ:"yj"},o={á:"a1",à:"a2",ả:"a3",ã:"a4",ạ:"a5",ắ:"a81",ằ:"a82",ẳ:"a83",ẵ:"a84",ặ:"a85",ă:"a8",ấ:"a61",ầ:"a62",ẩ:"a63",ẫ:"a64",ậ:"a65",â:"a6",đ:"d9",é:"e1",è:"e2",ẻ:"e3",ẽ:"e4",ẹ:"e5",ế:"e61",ề:"e62",ể:"e63",ễ:"e64",ệ:"e65",ê:"e6",í:"i1",ì:"i2",ỉ:"i3",ĩ:"i4",ị:"i5",ó:"o1",ò:"o2",ỏ:"o3",õ:"o4",ọ:"o5",ố:"o61",ồ:"o62",ổ:"o63",ỗ:"o64",ộ:"o65",ô:"o6",ớ:"o71",ờ:"o72",ở:"o73",ỡ:"o74",ợ:"o75",ơ:"o7",ú:"u1",ù:"u2",ủ:"u3",ũ:"u4",ụ:"u5",ứ:"u71",ừ:"u72",ử:"u73",ữ:"u74",ự:"u75",ư:"u7",ý:"y1",ỳ:"y2",ỷ:"y3",ỹ:"y4",ỵ:"y5"};function i(e){return e.split("").map((function(e){return n[e]||e})).join("")}function a(e){return e.split("").map((function(e){return o[e]||e})).join("")}},500:(e,r,t)=>{"use strict";function n(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"D")}function o(e){return e.replace(/[^0-9a-zàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđ\s]/gi,"")}t.r(r),t.d(r,{rmVnTones:()=>n,rmNonAlphanumeric:()=>o})},665:(e,r,t)=>{"use strict";function n(e){return/((^(\+84|84|0|0084){1})(3|5|7|8|9))+([0-9]{8})$/.test(e)}t.d(r,{H:()=>n})}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}return t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t(492)})()})); |
{ | ||
"name": "vn-str", | ||
"version": "0.0.4", | ||
"version": "0.2.0", | ||
"description": "Vietnamese string processing library.", | ||
@@ -8,3 +8,3 @@ "main": "dist/index.js", | ||
"scripts": { | ||
"test": "jest", | ||
"test": "webpack && jest", | ||
"build": "webpack" | ||
@@ -22,5 +22,9 @@ }, | ||
"vietnamese", | ||
"vietnamese-string-processing", | ||
"number-to-text", | ||
"remove-vietnamese-tones", | ||
"remove-non-alphanumeric" | ||
"remove-non-alphanumeric", | ||
"str-to-telex", | ||
"str-to-vni", | ||
"is-vietnamese-phone-number" | ||
], | ||
@@ -34,8 +38,10 @@ "author": "Trong Hieu <tronghieu60s@gmail.com>", | ||
"devDependencies": { | ||
"@babel/preset-env": "^7.12.13", | ||
"babel-loader": "^8.2.2", | ||
"@babel/preset-env": "^7.15.6", | ||
"copy-webpack-plugin": "^9.0.1", | ||
"jest": "^26.6.3", | ||
"ts-loader": "^9.2.6", | ||
"typescript": "^4.4.3", | ||
"webpack": "^5.21.2", | ||
"webpack-cli": "^4.5.0" | ||
"webpack-cli": "^4.8.0" | ||
} | ||
} | ||
} |
@@ -0,1 +1,4 @@ | ||
*Read this in other languages: [Tiếng Việt](README-vn.md).* | ||
## What is this? | ||
@@ -14,2 +17,3 @@ | ||
Using yarn: | ||
```bash | ||
@@ -19,3 +23,11 @@ $ yarn add vn-str | ||
Using CDN: | ||
```html | ||
<!-- When using CDN you can call all function in vnStr variable. --> | ||
<script src="https://tronghieu60s.github.io/vn-str/dist/index.js"></script> | ||
``` | ||
## Usage | ||
### 1. Number To Text Vietnamese | ||
@@ -26,3 +38,3 @@ | ||
```js | ||
var vnStr = require('vn-str'); | ||
var vnStr = require("vn-str"); | ||
var str = vnStr.numToText(54); | ||
@@ -37,3 +49,3 @@ console.log(str); // => "năm mươi tư" | ||
```js | ||
var vnStr = require('vn-str'); | ||
var vnStr = require("vn-str"); | ||
var str = vnStr.rmVnTones("trường sa hoàng sa là của việt nam"); | ||
@@ -48,4 +60,6 @@ console.log(str); // => "truong sa hoang sa la cua viet nam" | ||
```js | ||
var vnStr = require('vn-str'); | ||
var str = vnStr.rmNonAlphanumeric("Anh ta đã sưu tập nhiều các đồ vật kỳ lạ: trứng chim, tem, nắp chai, dây và cúc áo."); | ||
var vnStr = require("vn-str"); | ||
var str = vnStr.rmNonAlphanumeric( | ||
"Anh ta đã sưu tập nhiều các đồ vật kỳ lạ: trứng chim, tem, nắp chai, dây và cúc áo." | ||
); | ||
console.log(str); // => "Anh ta đã sưu tập nhiều các đồ vật kỳ lạ trứng chim tem nắp chai dây và cúc áo" | ||
@@ -55,5 +69,9 @@ ``` | ||
### 4. Convert String Vietnamese To Unicode Telex / VNI | ||
Example: | ||
```js | ||
var vnStr = require('vn-str'); | ||
var vnStr = require("vn-str"); | ||
var str = "Trường Sa, Hoàng Sa là của Việt Nam"; | ||
var strTelex = vnStr.strToTelex(str); | ||
@@ -64,8 +82,18 @@ console.log(strTelex); // => "Truwowfng Sa, Hoafng Sa laf cura Vieejt Nam" | ||
console.log(strVNI); // => "Tru7o72ng Sa, Hoa2ng Sa la2 cu3a Vie65t Nam" | ||
``` | ||
### 5. Check Vietnamese Phone Number | ||
Example: | ||
```js | ||
var vnStr = require("vn-str"); | ||
var isVietnamesePhone = vnStr.isVietnamesePhoneNumber("+84957507468"); | ||
console.log(isVietnamesePhone); // => true | ||
``` | ||
## Contributing | ||
Pull requests and stars are highly welcome. | ||
For bugs and feature requests, please create an issue. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Trivial Package
Supply chain riskPackages less than 10 lines of code are easily copied into your own project and may not warrant the additional supply chain risk of an external dependency.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
9598
5
5
93
7
1