您当前的位置: 首页 >  Java

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaScript(JS)常用正则表达式汇总

liaowenxiong 发布时间:2020-09-06 20:25:22 ,浏览量:1

文章目录
  • 自定义字符串校验函数
  • 常用正则表达式

自定义字符串校验函数

校验字符串是否全由数字组成,是则返回true,否则返回false:

function isDigit(str) {
	var regExp = /^[0-9]{1,20}$/;
	// exec方法如果找到符合正则表达式的字符串,返回一个数组对象,否则返回null
	if (!regExp.exec(str)) return false;
	return true;
} 

欲了解正则表达式对象的方法 exec() 如何使用,请参阅《JavaScript(JS)中与正则表达式有关的方法介绍》。

匹配以英文字母开头,由英文字母、数字、“.”、“_”中的任意 5~20 个字符组成的字符串:

function isRegisterUserName(s) {   
var regExp = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;   
if (!patrn.exec(s)) return false  
return true  
}  

匹配由 1~30 个英文字母组成的字符串:

function isTrueName(s) {   
var patrn=/^[a-zA-Z]{1,30}$/;   
if (!patrn.exec(s)) return false  
return true  
}   

匹配由6~20个任意非空白字符组成的字符串:

function isPasswd(s) {   
	var patrn=/^(\S){6,20}$/;   
	if (!patrn.exec(s)) return false  
return true  
} 

检验用户输入的身份证号码是否符合要求:

function check_card(){
	$('idCard').className = '';
	$('card_msg').innerHTML = '';
	var reg = /^\d{15}$|^\d{17}([0-9]|X|x)$/;
	if(!reg.test($F('idCard'))){
		$('card_msg').innerHTML = '格式不正确';
		$('idCard').className = 's2';
		return false;
	}
	return true; 
}
常用正则表达式 业务需求正则表达式说明用户名/^[a-z0-9_-]{3,16}$/匹配由 3 个到 16 个英文小写字母、数字、下划线、连接线中的任意字符组成的字符串;匹配小写英文字母、数字、下划线以及连接线中的任意一个字符,可以匹配 3 到 16 次,也就是至少匹配 3 次,最多匹配 16 次;匹配小写英文字母、数字、下划线以及连接线中的任意 3 个到 16 个字符;匹配小写英文字母、数字、下划线以及连接线中的 3 个到 16 个任意字符。两个正斜杠之间的内容才是正则表达式,正斜杠 / 只是用来标记表达式的首尾而已,类似于双引号的作用,有些地方并不使用 / 来标记正则式的首尾,而是使用双引号 "" 来标识首尾,所以 / 并没有实际的意义。用户名/^[a-zA-Z]{1,30}$/匹配 1 个到 30 个英文字母用户名/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/匹配以英文字母开头,由英文字母、数字、“.”、“_”中的任意 5~20 个字符组成的字符串密码/^(\S){6,20}$/匹配由6~20个任意非空白字符组成的字符串。这是密码常用的规则密码/^[^\f\n\r\t\v]{6,18}$//^\S{6,18}$/匹配除了换页符、换行符、空白符、制表符、回车符以外的任意 6 个到 18 个字符。这是密码常用的规则密码/^[a-z0-9_-]{6,18}$/匹配小写英文字母、数字、下划线、连字符中任意 6 个到 18 个字符组成的字符串;匹配 6 个到 18 个小写英文字母、数字、下划线、连字符中任意字符组成的字符串。这样的密码规则不常用密码/(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^[^\s\u4e00-\u9fa5]{6,16}$/使用了顺序否定环视,表示匹配一个非全部是数字,非全是英文字母,且包含至少 1 个英文字母或者包含至少 1 个数字,由 6 个到 18 个除了空白字符和汉字以外的任意字符组成的字符串。这样的密码规则更加严谨。电子邮箱/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/@之前的部分,匹配小写英文字母、数字、下划线、半角句点以及连接线中的任意1个或多个字符;@和半角句点之间的部分,匹配数字、小写英文字母、英文句点以及连接线中的任意1个或多个字符;@之后的部分,匹配小写英文字母和英文句点中的任意2个到6个字符电子邮箱/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/这个匹配地更加精准电子邮箱/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/这个比较宽松URL/^(https?:\/\/)?([0-9a-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/https?,是指 ? 前的 s 可有可无,(https?:\/\/)? 是指 http:// 或者 https:// 可有可无。要注意,\d 本是一个元字符,放在 [] 内就会变成普通字符 d,如果写成 \\d,则表示匹配 \d,换句话说如果要使用 \d 元字符的含义,不能放在方括号 [] 中URL/^https?://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$/sed ‘s/[\w]/liao/g’ test/text.txtIP 地址/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/IP 地址/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/HTML 标签/^)$/查找注释内容(?这是个逆序否定环视表达式,用来匹配注释部分的字符串,即匹配代码的注释部分 ,标识 // 的前面不能有 http: ,也不能有非空白字符 \S,并且结尾紧跟行尾 $,这样的字符串才能匹配成功Unicode 编码中的汉字范围/^[\u2E80-\u9FFF]+$/用来查找匹配整行的汉字汉字^[\u4e00-\u9fa5]{1,}$[\u4e00-\u9fa5] 表示任意一个汉字字符,整个正则式表示匹配 1 个或者多个任意汉字,并且匹配到的汉字既在行首又在行尾手机号码(\+86)?1\d{10}+ 是个特殊字符需要转义才能被视为一个普通字符,所以前面加个 \(\+86)? 表示 +86 可有可无,即 0 个或者 1 个;\d{10} 匹配10个任意数字,匹配任意的10个数字身份证/^\d{15}$|^\d{17}([0-9]|X|x)$/
关注
打赏
1661566967
查看更多评论
0.0452s