js正则表达式的10个应用实例
程序员文章站
2022-03-29 12:58:41
...
js中正则表达式的10个应用实例
1、找重复项最多的字符和个数
[html] view plain copy
<script> var str = 'sassdfdfffdasdffffffsdsdddsss'; var arr = str.split('');//先把字符串分割为字符串数组 str = arr.sort().join('');对数组进行排序后再将数组转化为字符串 var value = ''; var index = 0; var re = /(\w)\1+/g; str.replace(re,function($0,$1){ if(index<$0.length){ index = $0.length; value = $1; } }); alert('最多的字符:'+ value +' ,重复的次数:'+index);//最多的字符:f ,重复的次数:10 </script>
2、去掉空格
<script> var str = ' hel lo ' function trim(){ var re = /^\s+|\s+|\s+$/g; return str.replace(re,''); } alert('('+trim(str)+')');//(hello) </script>
3、判断是否为邮箱email
验证规则: 电子邮箱的正确写法一般为: 用户名@邮箱网站.com(.cn)
第一部分:由字母、数字、下划线、短线“-”、点号“.”组成
第二部分:为一个域名,域名由字母、数字、短线“-”、域名后缀组成(域名后缀一般为两位到三位。例如:com cn net现在域名有的也会大于四位)
function isEmail(str){ var reg =/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; return reg.test(str); }
4、验证手机号码
验证规则: 11位数字,以1开头
function isEmail(str){ var reg =/^1([0-9]){10}$/; //也可以为 <span style="background-color:rgb(255,255,255);">var reg= <span style="color:rgb(0,0,0);font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:14px;text-align:left;white-space:pre;">/^1\d{10}$/;</span></span> return reg.test(str); }
5、验证是否由数字和字母组成
function isEmail(str){ var reg =/^([0-9a-zA-Z])+$/; return reg.test(str); }
6、如何获取一个字符串中的数字字符,并按数组形式输出
例如:一串字符串:ddjsd234sdjs45sdda83ndas333sa9382ssd2
var str ='dgfhfgh254bhku289fgdhdy67'; var arr = []; function arrFn(){ var re = /\d+/g ; arr.push(str.match(re)); return arr; }
7、判断字符串是否存在连续重复的字母
var re = /([a-zA-Z])\1+/;
8、判断是否已元音字母结尾
var re = /[aeiou]$/i; //不要忘了添加不区分大小写的字符i
9、判断是否符合USD格式
规则:给定字符串 str,检查其是否符合美元书写格式
1、以 $ 开始
2、整数部分,从个位起,满 3 个数字用 , 分隔
3、如果为小数,则小数部分长度为 2
4、正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3**
var str ='$1,023,032.03'; var re = /^\$\d{1,3}((,\d{3}))*(\.\d{2})?$/; //需要注意的是特殊字符要加转义符号\
10、获取URL参数
规则:
1. 指定参数名称,返回该参数的值 或者 空字符串
2. 不指定参数名称,返回全部的参数对象 或者 {}
3. 如果存在多个同名参数,则返回数组**
// 获取 url 参数 function getUrlParam(sUrl, sKey) { var arr={}; sUrl.replace(/\??(\w+)=(\w+)&?/g,function(match,p1,p2){ //console.log(match,p1,p2); if(!arr[p1]){ arr[p1]=p2; } else { var p=arr[p1]; arr[p1]=[].concat(p,p2); } }) if(!sKey)return arr; else{ for(var ele in arr){ if(ele==sKey){return arr[ele];} } return ""; } }
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
相关阅读:
以上就是js正则表达式的10个应用实例的详细内容,更多请关注其它相关文章!
上一篇: 利用CSS实现div水平垂直居中