JavaScript中常用的正则表达式日常整理(全)
正则表达式是处理文本的重要工具,在JavaScript中也经常使用正则表达式来匹配和处理字符串。这里整理了JavaScript中常用的正则表达式,供参考和学习使用。
匹配特定字符
匹配任意字符:.
.
(点号)表示匹配任意字符,但是除了换行符。比如:
let str = "Hello World!";
let result = str.match(/l./g);
console.log(result); // ["ll", "ld"]
匹配数字:\d
\d
表示匹配任意数字,等价于[0-9]
。比如:
let str = "12345abcde";
let result = str.match(/\d+/g);
console.log(result); // ["12345"]
匹配字母:[a-zA-Z]
[a-zA-Z]
表示匹配任意字母,包括大小写。比如:
let str = "Hello World!";
let result = str.match(/[a-z]/g);
console.log(result); // ["e", "l", "l", "o", "o", "r", "l", "d"]
匹配中文:[\u4e00-\u9fa5]
[\u4e00-\u9fa5]
表示匹配任意中文字符。比如:
let str = "你好,世界!";
let result = str.match(/[\u4e00-\u9fa5]+/g);
console.log(result); // ["你好", "世界"]
匹配空白字符:\s
\s
表示匹配任意空白字符,包括空格、制表符、换行符等。比如:
let str = "Hello \tWorld!\n";
let result = str.match(/\s+/g);
console.log(result); // [" ", "\t", "\n"]
匹配非空白字符:\S
\S
表示匹配任意非空白字符。比如:
let str = "Hello \tWorld!\n";
let result = str.match(/\S+/g);
console.log(result); // ["Hello", "World!"]
匹配字符集合
匹配多个字符中的一个:[...]
[...]
表示匹配括号内的任意一个字符。比如:
let str = "Hello World!";
let result = str.match(/[eo]/g);
console.log(result); // ["e", "o", "o"]
匹配特定范围内的字符:[-]
[a-z]
表示匹配a到z之间的任意一个字母,[0-9]
表示匹配0到9之间的任意一个数字。比如:
let str = "Hello World!";
let result = str.match(/[a-m]/g);
console.log(result); // ["e", "l", "l"]
匹配不在指定范围内的字符:[^...]
[^...]
表示匹配除了括号内字符以外的任意一个字符。比如:
let str = "Hello World!";
let result = str.match(/[^l]/g);
console.log(result); // ["H", "e", "o", " ", "W", "o", "r", "d", "!"]
匹配数量控制
匹配固定数量的字符:{}
{n}
表示匹配前面紧跟的n个字符。比如:
let str = "abc123456abc789";
let result = str.match(/\d{3}/g);
console.log(result); // ["123", "456", "789"]
匹配至少n个字符:{n,}
{n,}
表示匹配前面紧跟的至少n个字符。比如:
let str = "abc123456abc789";
let result = str.match(/\d{2,}/g);
console.log(result); // ["123456", "789"]
匹配n到m个字符:{n,m}
{n,m}
表示匹配前面紧跟的n到m个字符。比如:
let str = "abc123456abc789";
let result = str.match(/\d{3,4}/g);
console.log(result); // ["1234", "5678"]
匹配0个或1个字符:?
?
表示匹配前面紧跟的0个或1个字符。比如:
let str = "http://www.example.com";
let result = str.match(/https?/);
console.log(result); // ["http"]
匹配0个或多个字符:*
*
表示匹配前面紧跟的0个或多个字符。比如:
let str = "abccccc";
let result = str.match(/abc*/g);
console.log(result); // ["abc", "abccccc"]
匹配1个或多个字符:+
+
表示匹配前面紧跟的1个或多个字符。比如:
let str = "abccccc";
let result = str.match(/abc+/g);
console.log(result); // ["abc", "abccccc"]
匹配位置
匹配开头的位置:^
^
表示匹配字符串的开头位置。比如:
let str = "abc123";
let result = str.match(/^\w+/g);
console.log(result); // ["abc"]
匹配结尾的位置:$
$
表示匹配字符串的结尾位置。比如:
let str = "abc123";
let result = str.match(/\d+$/g);
console.log(result); // ["123"]
匹配单词边界:\b
\b
表示匹配单词的边界,通常用于匹配单词的开头或结尾。比如:
let str = "Hello World!";
let result = str.match(/\bWorld/g);
console.log(result); // ["World"]
案例
验证邮箱地址
function isValidEmail(email) {
return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(email);
}
console.log(isValidEmail("test@example.com")); // true
console.log(isValidEmail("test.example.com")); // false
验证手机号码
function isValidPhoneNumber(phone) {
return /^(13|14|15|17|18)[0-9]{9}$/.test(phone);
}
console.log(isValidPhoneNumber("13812345678")); // true
console.log(isValidPhoneNumber("21312345678")); // false
以上就是JavaScript中常用的正则表达式的日常整理,希望对大家有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中常用的正则表达式日常整理(全) - Python技术站