소스 검색

Add TitleCase Typescript Schnippet

This allows you to convert a string to titlecase.
master
Nate Bohman 4 년 전
부모
커밋
561de3ce1f
로그인 계정: Nate Bohman <natrinicle@gmail.com> GPG Key ID: C10546A54ABA1CE5
1개의 변경된 파일89개의 추가작업 그리고 0개의 파일을 삭제
  1. +89
    -0
      typescript_utils/title-case.ts

+ 89
- 0
typescript_utils/title-case.ts 파일 보기

@@ -0,0 +1,89 @@
// Standalone function
export const toTitleCase = function(str: string): string {
str = str.replace(/([^\W_]+[^\s-]*) */g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});

// Certain minor words should be left lowercase unless
// they are the first or last words in the string
const lowers = [
'A',
'An',
'And',
'As',
'At',
'But',
'By',
'For',
'From',
'In',
'Into',
'Is',
'Near',
'Nor',
'Of',
'On',
'Onto',
'Or',
'The',
'To',
'With',
];
const uppers = ['Id', 'Tv'];

for (let i = 0; i < lowers.length; i++)
str = str.replace(new RegExp('\\s' + lowers[i] + '\\s', 'g'), function(txt) {
return txt.toLowerCase();
});

// Certain words such as initialisms or acronyms should be left uppercase
for (let i = 0; i < uppers.length; i++)
str = str.replace(new RegExp('\\b' + uppers[i] + '\\b', 'g'), uppers[i].toUpperCase());

return str;
};

// Prototype onto String so any string gets "".toTitleCase()
String.prototype.toTitleCase = function() {
let str = this.replace(/([^\W_]+[^\s-]*) */g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});

// Certain minor words should be left lowercase unless
// they are the first or last words in the string
const lowers = [
'A',
'An',
'And',
'As',
'At',
'But',
'By',
'For',
'From',
'In',
'Into',
'Is',
'Near',
'Nor',
'Of',
'On',
'Onto',
'Or',
'The',
'To',
'With',
];
const uppers = ['Id', 'Tv'];

for (let i = 0; i < lowers.length; i++)
str = str.replace(new RegExp('\\s' + lowers[i] + '\\s', 'g'), function(txt) {
return txt.toLowerCase();
});

// Certain words such as initialisms or acronyms should be left uppercase
for (let i = 0; i < uppers.length; i++)
str = str.replace(new RegExp('\\b' + uppers[i] + '\\b', 'g'), uppers[i].toUpperCase());

return str;
};

Loading…
취소
저장