2.0.3 • Published 13 days ago

regex-vietnamese v2.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
13 days ago

regex-vietnamese

Một thư viện JavaScript/TypeScript để hỗ trợ tìm kiếm văn bản tiếng Việt có hoặc không có dấu và các biến thể khác nhau của các chữ cái. Sử dụng để triển khai các chức năng tìm kiếm có tiếng Việt

Cài đặt:

Cài đặt regex-vietnamese với npm:

npm install regex-vietnamese

Cài đặt regex-vietnamese với yarn:

yarn add regex-vietnamese

Cài đặt regex-vietnamese với pnpm:

pnpm add regex-vietnamese

Sử dụng:

// ES Modules
import { generateRegexQuery } from 'regex-vietnamese';

// CommonJS
const { generateRegexQuery } = require('regex-vietnamese');

Các tham số:

const regex = generateRegexQuery(keyword, options);
  • keyword - string - từ khóa để tạo regex
  • options - TGenerateSearchQuery - các tùy chọn để tạo regex:
import { generateRegexQuery, TGenerateSearchQuery, OutputCaseOptions } from 'regex-vietnamese';
const options: TGenerateSearchQuery = {
    sensitive: false, // mặc định: false
    ignoreAccentedVietnamese: false, // mặc định: false
    outputCaseOptions: OutputCaseOptions.sameInput, // mặc định: 'sameInput'
};
  • sensitive: boolean - mặc định: false - không phân biệt chữ hoa chữ thường của regex

    const keyword = 'Hà Nội oi';
    const options: TGenerateSearchQuery = { sensitive: true };
    const regex = generateRegexQuery(keyword, options);
    console.log(regex); // /[H][à][ ][N][ộ][iíìỉĩị][ ][oóòỏõọôốồổỗộơớờởỡợ][iíìỉĩị]/
  • ignoreAccentedVietnamese: boolean - mặc định: false - bỏ qua các ký tự tiếng Việt có dấu, tất cả các ký tự tiếng Việt có dấu sẽ được chuyển thành ký tự tiếng Việt không dấu. Nếu tùy chọn này là true, tất cả các ký tự sẽ được chuyển thành ký tự regex, nếu không, chỉ các ký tự tiếng Việt không dấu sẽ được chuyển thành ký tự regex (các ký tự tiếng Việt có dấu là các ký tự: Sắc, Huyền, Hỏi, Ngã, Nặng):

    const keyword = 'Hà Nội oi'
    const regex = generateRegexQuery(keyword, { ignoreAccentedVietnamese: true });
    console.log(regex) // /[H][aáàảãạăắằẳẵặâấầẩẫậ][ ][N][oóòỏõọôốồổỗộơớờởỡợ][iíìỉĩị][ ][oóòỏõọôốồổỗộơớờởỡợ][iíìỉĩị]/i
  • outputCaseOptions: string - mặc định: 'sameInput' - tùy chọn chữ hoa chữ thường của regex: 'lowercase', 'uppercase', 'both'. Mặc định, chữ hoa chữ thường của regex sẽ tự động giống với chữ hoa chữ thường của từ khóa:

    const keyword = 'Hà Nội oi'
    
    const regexLowercase = generateRegexQuery(keyword, { outputCaseOptions: 'lowercase' });
    console.log(regexLowercase); // /[h][à][ ][n][ộ][iíìỉĩị][ ][oóòỏõọôốồổỗộơớờởỡợ][iíìỉĩị]/i
    
    const regexUpperCase = generateRegexQuery(keyword, { outputCaseOptions: 'uppercase' });
    console.log(regexUpperCase); // /[H][À][ ][N][Ộ][IÍÌỈĨỊ][ ][OÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢ][IÍÌỈĨỊ]/i
    
    const regexBothCase = generateRegexQuery(keyword, { outputCaseOptions: 'both' });
    console.log(regexBothCase); // /[hH][aáàảãạăắằẳẵặâấầẩẫậAÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬ][ ][nN][oóòỏõọôốồổỗộơớờởỡợOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢ][iíìỉĩịIÍÌỈĨỊ][ ][oóòỏõọôốồổỗộơớờởỡợOÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢ][iíìỉĩịIÍÌỈĨỊ]/i

Người đóng góp

2.0.3

13 days ago

2.0.2

14 days ago

1.1.1

8 months ago

1.1.0

8 months ago

2.0.1

7 months ago

2.0.0

7 months ago

1.0.0

8 months ago