在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开发中处理各种数值相关的问题。