javascript 正则表达式 候选
在 JavaScript 中,正则表达式是一种强大的工具,用于匹配字符串中的特定模式。以下是一些常见的正则表达式候选及其用途: ### 1. 匹配电子邮件地址 ```javascript const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/; ``` - **用途**:验证电子邮件地址是否符合标准格式。 ### 2. 匹配 URL ```javascript const urlRegex = /^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/; ``` - **用途**:验证 URL 是否符合标准格式。 ### 3. 匹配电话号码 ```javascript const phoneRegex = /^\\+?[1-9]\\d{1,14}$/; ``` - **用途**:验证电话号码是否符合国际格式。 ### 4. 匹配日期(YYYY-MM-DD 格式) ```javascript const dateRegex = /^\\d{4}-\\d{2}-\\d{2}$/; ``` - **用途**:验证日期是否符合 `YYYY-MM-DD` 格式。 ### 5. 匹配密码(至少包含一个大写字母、一个小写字母和一个数字) ```javascript const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,}$/; ``` - **用途**:验证密码是否符合复杂性要求。 ### 6. 匹配 IP 地址 ```javascript const ipRegex = /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; ``` - **用途**:验证 IPv4 地址是否符合标准格式。 ### 7. 匹配 HTML 标签 ```javascript const htmlTagRegex = /<[^>]+>/g; ``` - **用途**:提取或验证 HTML 标签。 ### 8. 匹配十六进制颜色代码 ```javascript const hexColorRegex = /^#?([a-f\\d]{3}|[a-f\\d]{6})$/i; ``` - **用途**:验证十六进制颜色代码是否有效。 ### 9. 匹配信用卡号(Luhn 算法验证) ```javascript function validateCreditCard(cardNumber) { const cardRegex = /^(?:4|5[1-5]|6(?:011|5\\d{2}))[0-9]{12}(?:[0-9]{3})?$/; let sum = 0; let shouldDouble = false; for (let i = cardNumber.length - 1; i >= 0; i--) { let digit = parseInt(cardNumber.charAt(i), 10); if (shouldDouble) { digit *= 2; if (digit > 9) { digit -= 9; } } sum += digit; shouldDouble = !shouldDouble; } return cardRegex.test(cardNumber) && (sum % 10 === 0); } ``` - **用途**:验证信用卡号是否有效(使用 Luhn 算法)。 ### 10. 匹配中文字符 ```javascript const chineseCharRegex = /[\\u4e00-\\u9fa5]/; ``` - **用途**:匹配中文字符。 ### 11. 匹配空格 ```javascript const spaceRegex = /\\s+/g; ``` - **用途**:匹配一个或多个空白字符。 ### 12. 匹配 Base64 编码 ```javascript const base64Regex = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; ``` - **用途**:验证 Base64 编码是否有效。 ### 13. 匹配 GUID ```javascript const guidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/; ``` - **用途**:验证 GUID 是否符合标准格式。 ### 14. 匹配银行卡号(16 或 19 位数字) ```javascript const bankCardRegex = /^(?:\\d{16}|\\d{19})$/; ``` - **用途**:验证银行卡号是否符合长度要求。 这些正则表达式可以根据具体需求进行调整和优化。如果需要更复杂的匹配规则,可以结合正则表达式的高级特性(如捕获组、非捕获组、前瞻等)。