常用的javascript正则表达式

时间:2022-01-23 19:44:56

部分内容转自https://www.cnblogs.com/tugenhua0707/p/5037811.html#3904372

 1. 匹配以数字结尾的;

  正则:/\d+$/g;

2. 去掉空格;

    正则:/\s+/g

3. 手机号码正则

    匹配规则:手机号码开头不以0开始的,并且是11位数字

    正则:/(^1[3|4|5|7|8][0-9]{9}$)/

4. 电话号码正则

    电话号码有区号(3-4位数字),区号之后使用 ”-” 与电话号码连接;

    区号正则:^\d{3,4}

    电话号码7~8位 正则: \d{7,8}

    电话号码也有分机号,分机号为3-4位数字,非必填项,如果要填写的话,则以”-”与电话号码相连接。

    正则(-\d{3,4})?

    因此正则匹配电话号码正则为:/^\d{3,4}-/d{7,8}(-\d{3,4})?$/;

5. 删除字符串左右空格

 

 1 // 删除字符串两侧的空白
 2 
 3 /*
 4 
 5  * 下面的正则的含义是以1个或者多个空白开头的
 6 
 7  * | 是或者的意思 或者以1个或者多个空白结尾的
 8 
 9  * 也就是去掉头部和尾部的1个或者多个空格
10 
11  */
12 
13 function trim(str) {
14 
15     return str.replace(/^\s+|\s+$/g,'');
16 
17 }
18 
19 var str1 = " 1234 ";
20 
21 console.log(trim(str1)); // 输出去掉空格的 1234

 

6. 限制文本框只能输入数字和小数点(二位小数点)

    .9 (true);1.99(true);1a.99(false)

 正则:/^\d*\.?\d{0,2}$/

7.用户名正则

    匹配规则:只能是中文,英文,数字,下划线,4-16个字符;

    匹配中文字符正则:/[\u4E00-\u9FA5\uf900-\ufa2d]/

    \w是 匹配英文,数字,下划线

8.url正则

    正则:/^((https|http|ftp|rtsp|mms)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;

9. 身份证号码的匹配

    匹配规则:身份证号码有15位或者18位,其中最后一位可能是X,其他全是数字

    正则: /^(\d{14}|\d{17})(\d|[xX])$/

10. 单词的首字母大写

    匹配字符串,让其字符串的首个字母大写

    正则:/\b(\w)|\s(\w)/g

11. 验证邮箱的正则表达式

    思路分析: 邮箱的规则是: 由3部分组成

    由1个或者多个字母数字下划线和杠 + @ + 1个或者多个字母数字下划线和杠 + . + 1个或者多个字母数字下划线和杠

    因此正则:/^([a-zA-Z_0-9-])+@([a-zA-Z_0-9-])+(\.[a-zA-Z_0-9-])+$/

12. 正则判断是否为数字和字母的混合

    规则:字母和数字的混合

    正则如: /^(([a-z]+)([0-9]+)|([0-9]+([a-z]+)))[a-z0-9]*$/i

    分析:^([a-z]+)([0-9]+) 含义是 以1个或多个字母开头 后面紧跟1个或者多个数字

              ^([0-9]+([a-z]+)) 或者是以1个或者多个数字开头 后面紧跟1个或者多个字母

              [a-z0-9]*$ 后面还可以紧跟数字或者字母0个或者多个