欢迎光临散文网 会员登陆 & 注册

JS正则表达式:邮箱的验证字符串,面试题,子表达式,字面量,内置对象【诗书画唱】

2021-04-07 17:15 作者:诗书画唱  | 我要投稿

目录:

正则表达式代码部分例子合集

面试题

1、输入的字符串必须包含三个连续的k

2、输入的字符串必须全部是汉字。

3、输入的字符串,必须以http或者https开头,以.com结尾

4、写出邮箱的验证字符串

5、输入的账号必须是数字字母下划线组成,并且长度在6到30位之间

6、输入的必须是数字,不能以0开头

7、输入的字符串必须以let或者ing结尾。


面试题(注释的部分是比较繁琐的写法,红色的部分是简洁的写法,代码很多时候是越简洁越好,因为这样的项目等等占内存等等小,简洁的优点在我看来,就好比用户都喜欢下载相同功能且占内存小的APP等等)

\w{4,19}$表示4到19长度的以字母下划线为结尾。代码写得越简短越好,不用$就表示不一定是\w结尾



function checkString(str){

// var reg = /^[a-zA-Z]\w{4,19}$/;

 //if(reg.test(str)) {

// return 1;

// } else {

// return 0;

// }

//              return reg.test(str) ? 1 : 0;

                return /^[a-zA-Z]\w{4,19}$/.test(str) ? 1 : 0;

}

正则表达式代码部分例子合集 START

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script>

//在js中声明正则表达式

//1字面量(推荐)

var o = {};

var a = [];

var f = function(){};

var r = /47/;

//2内置对象

var o1 = new Object();

var a1 = new Array();

var f1 = new Function();

var r1 = new RegExp('47');

//正则表达式中的一些特殊的字符

//^,$表示字符串以什么开头以什么结尾

var reg1 = /^mop$/;

//检测一个字符串是否符合正则表达式

console.log(reg1.test('mop'));

//?,*,+都是用来描述字符(串)出现的次数的

//?表示出现的次数是0次或者1次

var reg2 = /^pw?k$/;

console.log(reg2.test('pwwwwwwk'));

//*表示出现的次数是0次或者多次

var reg3 = /^97*0$/;

console.log(reg3.test('9770'));

//+表示出现的次数是1次或者多次

var reg4 = /^rf+6$/;

console.log(reg4.test('rfffff6'));

//用()括起来的内容就叫子表达式

var reg5 = /^(http)s?(com)$/;

console.log(reg5.test('httpsscom'));

//.表示除了换行符\n以外的任意的其他单字符

var reg6 = /^(mail).*(cn)$/;

console.log(reg6.test('mail+nmpcn'));

//|表示多选一

var reg7 = /^(139|159|187)3?m$/;

console.log(reg7.test('1593m'));

//表示数字[0-9],\d

var reg8 = /^h\d+b$/;

//var reg8 = /^h[0-9]+b$/;

console.log(reg8.test('h93743774b'));

//表示大小写字母[a-z],[A-Z],[a-zA-Z]

var reg9 = /^1[A-Z]*0$/;

console.log(reg9.test('1ABC0'));

//表示字母数字和下划线[0-9a-zA-Z_],\w

var reg10 = /^[a-zA-Z_$][\w$]*$/;

console.log(reg10.test('$$'));

//以f开头,t结尾,必须出现两个o

var reg11 = /^fo{2}t$/;

console.log(reg11.test('foot'));

//以f开头,t结尾,o出现的次数必须多于等于2次

var reg12 = /^fo{2,}t$/;

console.log(reg12.test('foot'));

//账号的长度是6到30位,必须是字母数字下划线

var reg13 = /^\w{6,30}$/;

console.log(reg13.test('admin123'));


//转义符

//输入的数字是一个两位小数,总长度是4个数字

var reg14 = /^[1-9]\d\.\d{2}$/;

console.log(reg14.test('21.33'));

//输入一个加法不等式,+号两边各有一个一位数字

var reg15 = /^\d\+\d$/;

console.log(reg15.test('1+1'));

//如果正则表达式中出现了+,*,?,.等有特殊含义的字符就必须用\进行转义


//^的作用:1以什么开头2排除

//输入的字符串不能以m开头

var reg16 = /^[^m]$/;

console.log(reg16.test('lm'));


function checkString(str){

// var reg = /^[a-zA-Z]\w{4,19}$/;

// if(reg.test(str)) {

// return 1;

// } else {

// return 0;

// }

//              return reg.test(str) ? 1 : 0;

                return /^[a-zA-Z]\w{4,19}$/.test(str) ? 1 : 0;

}

</script>

</head>

<body>

</body>

</html>

正则表达式代码部分例子合集 END

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>


var s=/^1给诗书画唱三连9$/;

var s2="OK"

var r=s.test(s2);

console.log(r)



var s=/^1p?9$/;//这里的p?表示任意个p

var s2="OK"

var r=s.test(s2);

console.log(r)



var s=/^1p*9$/;//*表示出现的次数是0次或者多次

var s2="OK"

var r=s.test(s2);

console.log(r)


var s=/^[a-zA-Z]\w{4,19}$/;

//\w{4,19}$表示4到19长度的以字母下划线为结尾。代码写得越简短越好,不用$就表示不一定是\w结尾

var s2="a1111"

var r=s.test(s2);

console.log(r)

</script>

<body>

</body>

</html>



1、输入的字符串必须包含三个连续的k

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>

var reg = /k{3}/;

console.log(reg.test('kakk'));


</script>

<body>

</body>

</html>



2、输入的字符串必须全部是汉字。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>

console.log(/^[\u4e00-\u9fa5]+$/.test('给诗书画唱三连'));

/*“\u4e00-\u9fa5”是unicode编码,一种全世界语言都包括的一种编码。

(国际化功能中常常用到),\u4e00-\u9fa5是用来判断是不是中文的一个条件。*/

</script>


<body>

</body>

</html>



3、输入的字符串,必须以http或者https开头,以.com结尾

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>

/*3、输入的字符串,必须以http或者https开头,以.com结尾

 

  .表示除了换行符\n以外的任意的其他单字符

 

  *表示出现的次数是0次或者多次 */

 

console.log(/^(http|https).*\.com$/.test('https://zhidao.baidu.com'));


</script>

<body>

</body>

</html>



4、写出邮箱的验证字符串

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>


//判断用户输入的电子邮箱格式是否正确

console.log(/^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/.test('sl@qq.com'));

</script>

<body>

</body>

</html>


5、输入的账号必须是数字字母下划线组成,并且长度在6到30位之间


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>


/*5、输入的账号必须是数字字母下划线组成,并且长度在6到30位之间*/

console.log(/^\w{6,30}$/.test('666三连啊'));


</script>

<body>

</body>

</html>




6、输入的必须是数字,不能以0开头

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>

console.log(/^[1-9]\d*$/.test("666"));

</script>

<body>

</body>

</html>




7、输入的字符串必须以let或者ing结尾。


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<script>



console.log(/(let|ing)$/.test("let666ing"));

</script>

<body>

</body>

</html>


JS正则表达式:邮箱的验证字符串,面试题,子表达式,字面量,内置对象【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律