前端 JavaScript 基础面试题, JavaScript 中常用的正则表达式有哪些?
前端 JavaScript 基础面试题, JavaScript 中常用的正则表达式有哪些?
QA
Step 1
Q:: JavaScript 中常用的正则表达式有哪些?
A:: 常用的正则表达式包括:1. 验证邮箱:/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; 2. 验证手机号:/^1[3-9]\d{9}$/; 3. 验证URL:/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/; 4. 验证身份证号:/^[1-9]\d{5}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])\d{3}([0-9Xx])$/; 5. 验证邮政编码:/^\d{6}$/
。
Step 2
Q:: 如何在 JavaScript 中创建一个正则表达式对象?
A:: 可以使用两种方式创建正则表达式对象:1. 使用字面量:let regex = /pattern/flags; 例如,let regex = /\d+/g; 2. 使用 RegExp 构造函数:let regex = new RegExp('pattern', 'flags'); 例如,let regex = new RegExp('\d+', 'g');
Step 3
Q:: 如何在 JavaScript 中使用正则表达式进行字符串匹配?
A:: 可以使用多种方法进行字符串匹配:1. 使用 String.prototype.match() 方法:let result = str.match(regex); 2. 使用 String.prototype.search() 方法:let index = str.search(regex); 3. 使用 String.prototype.replace() 方法:let newStr = str.replace(regex, replacement); 4. 使用 String.prototype.split() 方法:let arr = str.split(regex); 5. 使用 RegExp.prototype.test() 方法:let isMatch = regex.test(str);
Step 4
Q:: JavaScript 中的正则表达式有哪些常见的元字符?
A:: 常见的元字符包括:1. . :匹配除换行符以外的任意字符;2. \d :匹配一个数字字符;3. \D :匹配一个非数字字符;4. \w :匹配一个字母、数字或下划线字符;5. \W :匹配一个非字母、非数字、非下划线字符;6. \s :匹配一个空白字符;7. \S :匹配一个非空白字符;8. ^ :匹配输入的开始;9. $ :匹配输入的结束;10. * :匹配前一个字符零次或多次;11. + :匹配前一个字符一次或多次;12. ? :匹配前一个字符零次或一次;13. {n} :匹配前一个字符恰好 n 次;14. {n,} :匹配前一个字符至少 n 次;15. {n,m}
:匹配前一个字符至少 n 次且至多 m 次。
Step 5
Q:: 如何使用 JavaScript 中的正则表达式进行替换操作?
A:: 可以使用 String.prototype.replace() 方法进行替换操作。语法为:str.replace(regex, replacement); 例如:let str = 'The quick brown fox'; let newStr = str.replace(/quick/, 'slow'); 结果 newStr 为 'The slow brown fox'
。