欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js正则表达式如何应用

程序员文章站 2022-05-30 16:31:45
...

本文主要和大家js中正则表达式的应用实例(包括面试题),希望能帮助到大家,能让大家正确使用js正则表达式。

1、找重复项最多的字符和个数

<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}$/; //也可以为 var reg= /^1\d{10}$/;
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中正则表达式的理解

总结js中正则表达式的创建与使用

js中正则表达式是怎么使用的?

以上就是js正则表达式如何应用的详细内容,更多请关注其它相关文章!