常用的javascript正则表达式
部分内容转自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个或者多个