在JavaScript中,正则表达式是一种强大的文本处理工具,可以用来进行字符串的匹配、查找、替换等操作。特别是在处理数值验证和转换时,正则表达式可以发挥重要作用。本文将介绍如何使用正则表达式轻松实现数值验证与转换技巧。

数值验证

在进行表单验证时,经常需要对用户输入的数值进行验证,确保其符合预期的格式。以下是一些常见的数值验证场景及其对应的正则表达式:

1. 验证整数

function validateInteger(value) {
    var pattern = /^\d+$/;
    return pattern.test(value);
}

console.log(validateInteger("123")); // true
console.log(validateInteger("123.45")); // false

2. 验证浮点数

function validateFloat(value) {
    var pattern = /^\d+(\.\d+)?$/;
    return pattern.test(value);
}

console.log(validateFloat("123.45")); // true
console.log(validateFloat("123")); // true
console.log(validateFloat("123.45.67")); // false

3. 验证手机号码

function validatePhoneNumber(value) {
    var pattern = /^1[3-9]\d{9}$/;
    return pattern.test(value);
}

console.log(validatePhoneNumber("13800138000")); // true
console.log(validatePhoneNumber("123456701")); // false

4. 验证邮箱地址

function validateEmail(value) {
    var pattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return pattern.test(value);
}

console.log(validateEmail("example@example.com")); // true
console.log(validateEmail("example.com")); // false

数值转换

正则表达式不仅可以用于验证,还可以用于数值的转换。以下是一些常见的数值转换技巧:

1. 将字符串转换为整数

function stringToInteger(value) {
    return parseInt(value, 10);
}

console.log(stringToInteger("123")); // 123
console.log(stringToInteger("123.45")); // 123

2. 将字符串转换为浮点数

function stringToFloat(value) {
    return parseFloat(value);
}

console.log(stringToFloat("123.45")); // 123.45
console.log(stringToFloat("123")); // 123.0

3. 将数字转换为字符串

function numberToString(value) {
    return value.toString();
}

console.log(numberToString(123)); // "123"
console.log(numberToString(123.45)); // "123.45"

4. 格式化数字为货币格式

function formatCurrency(value) {
    return new Intl.NumberFormat("en-US", {
        style: "currency",
        currency: "USD",
    }).format(value);
}

console.log(formatCurrency(123456.7)); // "$123,456.79"

通过以上技巧,您可以使用正则表达式轻松实现数值验证和转换。掌握这些技巧,将有助于您在JavaScript开发中处理各种数值相关的问题。