Javascript 编写一个函数将数字字符串格式化为指定长度

Javascript 编写一个函数将数字字符串格式化为指定长度

Javascript 编写一个函数将数字字符串格式化为指定长度

在实际开发中,我们经常会遇到需要将数字字符串格式化为指定长度的情况,比如将手机号码格式化为3-4-4的形式,或者将银行卡号格式化为4-4-4-4的形式。在本文中,我们将介绍如何编写一个Javascript函数来实现这个功能。

实现思路

我们可以通过正则表达式来实现将数字字符串格式化为指定长度的功能。具体来说,我们可以先将数字字符串中的非数字字符去除,然后根据指定的格式将数字字符串进行分割,最后再将分割后的字符串进行拼接。

示例代码

示例1:将手机号码格式化为3-4-4的形式

function formatPhoneNumber(phoneNumber) {
    phoneNumber = phoneNumber.replace(/\D/g, ''); // 去除非数字字符
    return phoneNumber.slice(0, 3) + '-' + phoneNumber.slice(3, 7) + '-' + phoneNumber.slice(7);
}

const phoneNumber = '123-4567-8901';
console.log(formatPhoneNumber(phoneNumber)); // 输出:123-4567-8901

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例2:将银行卡号格式化为4-4-4-4的形式

function formatBankCardNumber(bankCardNumber) {
    bankCardNumber = bankCardNumber.replace(/\D/g, ''); // 去除非数字字符
    return bankCardNumber.match(/.{1,4}/g).join('-');
}

const bankCardNumber = '1234-5678-9012-3456';
console.log(formatBankCardNumber(bankCardNumber)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例3:将数字字符串格式化为指定长度的形式

function formatNumberString(numberString, format) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    return numberString.match(new RegExp('.{1,' + format + '}', 'g')).join('-');
}

const numberString = '1234567890123456';
const format = 4;
console.log(formatNumberString(numberString, format)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例4:处理带有分隔符的数字字符串

function formatNumberStringWithSeparator(numberString, separator, format) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    return numberString.match(new RegExp('.{1,' + format + '}', 'g')).join(separator);
}

const numberStringWithSeparator = '1234-5678-9012-3456';
const separator = '-';
const format = 4;
console.log(formatNumberStringWithSeparator(numberStringWithSeparator, separator, format)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例5:处理不同长度的数字字符串

function formatNumberStringWithDifferentLength(numberString, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + '-';
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDifferentLength(numberString, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例6:处理不同长度和分隔符的数字字符串

function formatNumberStringWithDifferentLengthAndSeparator(numberString, separatorArray, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach((format, i) => {
        result += numberString.slice(index, index + format) + separatorArray[i];
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separatorArray = ['-', '-', '-', '-'];
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDifferentLengthAndSeparator(numberString, separatorArray, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例7:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例8:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例9:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例10:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例11:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例12:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例13:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例14:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例15:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例16:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例17:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例18:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例19:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

示例20:处理不同长度和分隔符的数字字符串(动态生成分隔符)

function formatNumberStringWithDynamicSeparator(numberString, separator, formatArray) {
    numberString = numberString.replace(/\D/g, ''); // 去除非数字字符
    let result = '';
    let index = 0;
    formatArray.forEach(format => {
        result += numberString.slice(index, index + format) + separator;
        index += format;
    });
    return result.slice(0, -1);
}

const numberString = '1234567890123456';
const separator = '-';
const formatArray = [4, 4, 4, 4];
console.log(formatNumberStringWithDynamicSeparator(numberString, separator, formatArray)); // 输出:1234-5678-9012-3456

代码运行结果:

Javascript 编写一个函数将数字字符串格式化为指定长度

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程