/^[\u4e00-\u9fa5]+$/.test()
匹配汉字:
[\u4e00-\u9fa5]
匹配姓名:
RegName = /^[\u4e00-\u9fa5]{2,10}$/;
匹配在数字字母下划线以为的字符:
/[^a-zA-Z0-9_]/.test(value)
检验密码强度
密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
检测是否邮箱格式
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
匹配6位数字验证码
/^\d{6}$/.test(value)
匹配手机:
RegMobile = /^1[0-9]{10,10}$/;
或者
/^0?(13[0-9]|15[012356789]|18[0123456789]|14[57])[0-9]{8}$/
或者13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$
匹配身份证:
egIdentityID = /^(\d{17})(\d|x|X)$/;
15位
^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
18位
^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
简单验证身份证:
/^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}((19\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d{2}(0[13578]|1[02])31)|(19\d{2}02(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))\d{3}(\d|X|x){1}$/.test(value)
验证身份证:(借鉴招商银行的方法)
<script type="text/javascript">
///身份证号码校验(只支持18位)
var RegIdentityID = /^(\d{17})(\d|x|X)$/;
function pSimpleChkUserCardID(num) {
var icardno = num;
var nRet = 1;
var vErr = "";
var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: " 上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: " 湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: " 陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };
var reg = RegIdentityID;
if (icardno.length > 0) {
if (icardno.length < 18) {
nRet = 2;
vErr = "请正确输入18位身份证号码";
} else {
if (reg.test(icardno)) {
var areacode = icardno.substr(0, 2);
if (null == area[areacode] || undefined == area[areacode]) {
nRet = 3;
vErr = "请输入正确的身份证号码";
}
else {
var idcheck = checkLongUserID(icardno);
nRet = idcheck.nRet;
vErr = idcheck.Msg;
}
}
else {
nRet = 3;
vErr = "请输入正确的身份证号码";
}
}
}
else {
nRet = 2;
vErr = "请输入身份证号码";
}
return vErr;
}
function checkLongUserID(longid) {
var nRet = 2, msg = "", arr = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
var iyear = longid.substr(6, 4), imonth = longid.substr(10, 2), iday = longid.substr(12, 2);
var datecheck = pIsValidDate(iyear, imonth, iday);
if (1 != datecheck.nRet) {
return { "nRet": datecheck.nRet, "Msg": "请输入正确的身份证号码" };
}
var a, b, c;
a = parseInt(longid.substr(0, 1)) * 7 + parseInt(longid.substr(1, 1)) * 9 + parseInt(longid.substr(2, 1)) * 10;
a = a + parseInt(longid.substr(3, 1)) * 5 + parseInt(longid.substr(4, 1)) * 8 + parseInt(longid.substr(5, 1)) * 4;
a = a + parseInt(longid.substr(6, 1)) * 2 + parseInt(longid.substr(7, 1)) * 1 + parseInt(longid.substr(8, 1)) * 6;
a = a + parseInt(longid.substr(9, 1)) * 3 + parseInt(longid.substr(10, 1)) * 7 + parseInt(longid.substr(11, 1)) * 9;
a = a + parseInt(longid.substr(12, 1)) * 10 + parseInt(longid.substr(13, 1)) * 5 + parseInt(longid.substr(14, 1)) * 8;
a = a + parseInt(longid.substr(15, 1)) * 4 + parseInt(longid.substr(16, 1)) * 2;
b = a % 11;
c = 2 == b ? longid.substr(17, 1).toUpperCase() : parseInt(longid.substr(17, 1));
if (c == arr[b]) {
nRet = 1;
} else {
nRet = 3;
msg = "请输入正确的身份证号码";
}
return { "nRet": nRet, "Msg": msg };
}
function pIsValidDate(iYear, iMonth, iDay) {//验证出生年月
var nRet = 2, msg = "";
if (2 == iYear.length) {
var tempyear = '20' + iYear, nNow = new Date();
iYear = parseInt(nNow.getFullYear()) < parseInt(tempyear) ? ("19" + iYear) : tempyear;
}
try {
var tempdate = new Date(iYear + '/' + iMonth + '/' + iDay);
if (tempdate.getFullYear() != iYear || tempdate.getMonth() != (iMonth - 1) || tempdate.getDate() != iDay) {
nRet = 3;
msg = "日期出错";
}
else {
nRet = 1;
}
}
catch (e) {
nRet = 3;
msg = "日期出错";
}
return { "nRet": nRet, "Msg": msg };
}
alert(pSimpleChkUserCardID('4365242542545212121'));
</script>
匹配四位数字 可有带2为小数点的字符:
RegCarPrice = /^\d{1,4}(\.\d{1,2})?$/
校验日期“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
京东商城注册页面找到的一组
decmal: "^([+-]?)\\d*\\.\\d+$", //浮点数
decmal1: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$", //正浮点数
decmal2: "^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$", //负浮点数
decmal3: "^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$", //浮点数
decmal4: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$", //非负浮点数(正浮点数 + 0)
decmal5: "^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$", //非正浮点数(负浮点数 + 0)
intege: "^-?[1-9]\\d*$", //整数
intege1: "^[1-9]\\d*$", //正整数
intege2: "^-[1-9]\\d*$", //负整数
num: "^([+-]?)\\d*\\.?\\d+$", //数字
num1: "^[1-9]\\d*|0$", //正数(正整数 + 0)
num2: "^-[1-9]\\d*|0$", //负数(负整数 + 0)
ascii: "^[\\x00-\\xFF]+$", //仅ACSII字符
chinese: "^[\\u4e00-\\u9fa5]+$", //仅中文
color: "^[a-fA-F0-9]{6}$", //颜色
date: "^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$", //日期
email: "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$", //邮件
idcard: "^[1-9]([0-9]{14}|[0-9]{17})$", //身份证
ip4: "^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$", //ip地址
letter: "^[A-Za-z]+$", //字母
letter_l: "^[a-z]+$", //小写字母
letter_u: "^[A-Z]+$", //大写字母
mobile: "^0?(13|15|17|18|14)[0-9]{9}$", //手机
notempty: "^\\S+$", //非空
password: "^.*[A-Za-z0-9\\w_-]+.*$", //密码
fullNumber: "^[0-9]+$", //数字
picture: "(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$", //图片
qq: "^[1-9]*[1-9][0-9]*$", //QQ号码
rar: "(.*)\\.(rar|zip|7zip|tgz)$", //压缩文件
tel: "^[0-9\-()()]{7,18}$", //电话号码的函数(包括验证国内区号,国际区号,分机号)
url: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$", //url
username: "^[A-Za-z0-9_\\-\\u4e00-\\u9fa5]+$", //户名
deptname: "^[A-Za-z0-9_()()\\-\\u4e00-\\u9fa5]+$", //单位名
zipcode: "^\\d{6}$", //邮编
realname: "^[A-Za-z\\u4e00-\\u9fa5]+$", // 真实姓名
companyname: "^[A-Za-z0-9_()()\\-\\u4e00-\\u9fa5]+$",
companyaddr: "^[A-Za-z0-9_()()\\#\\-\\u4e00-\\u9fa5]+$",
companysite: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&#=]*)?$"
匹配小括号里的内容,包括中英文状态下的() () 复制代码里的代码 肉眼看到的解析有问题
alert(/[\((][\s\S]*[\))]/.exec("华联超市(回龙观店)"))
匹配以name到;之间的字符
var str='name=zhangsan;expires=1;';
var reg=/\bname=[\s\S]*\b;/
alert(reg.exec(str))
\b开头字符.*?结尾字符\b
匹配只能输入整数或者只能带2位小数的小数
var /^\d+(\.\d{1,2})?$/
textReg=/^(([1-9]\d{0,9})|0)(\.\d{1,2})?$/;
或者
/^[0-9]+(\.[0-9]{1,2})?$/
正小数,正整数,0和正整数
/^[0-9]+.?[0-9]*$/; 正小数
/^(0|\+?[1-9][0-9]*)$/ 0 和正整数
/^[1-9]\d*$/;//正整数
判断IE的版本
IE目前还没被完全取代,很多页面还是需要做版本兼容,下面是IE版本检查的表达式。
^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
校验IP-v4地址
\\b(?:(?: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]?)\\b
校验IP-v6地址
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
检查URL的前缀
应用开发中很多时候需要区分请求是HTTPS还是HTTP,通过下面的表达式可以取出一个url的前缀然后再逻辑判断。
if (!s.match(/^[a-zA-Z]+:\\/\\//))
{
s = 'http://' + s;
}
提取URL链接
下面的这个表达式可以筛选出一段文本中的URL。
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
文件路径及扩展名校验
验证windows下文件路径和扩展名(下面的例子中为.txt文件)
^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
提取Color Hex Codes
有时需要抽取网页中的颜色代码,可以使用下面的表达式。
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
提取网页图片
假若你想提取网页中所有图片信息,可以利用下面的表达式。
\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
提取页面超链接
提取html中的超链接。
(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
查找CSS属性
通过下面的表达式,可以搜索到相匹配的CSS属性。
^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
抽取注释
如果你需要移除HMTL中的注释,可以使用如下的表达式。
<!--(.*?)-->
匹配HTML标签
通过下面的表达式可以匹配出HTML中的标签属性。
<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>
html部分标签的匹配
a标签
<a\s+href\s*=\s*["']?([^"'\s]+)["']?>([^<]+)<\/a>
head标签
<head>([^>]+)<\/head>
img标签
<img\s[^>]*?src=['"]?([^"']+)["']?[^>]*>
匹配img标签并用a标签包裹起来,链接为img的src地址
'<p><img src="http://img.1.com/1.png" style="width: 230px;" /><img src="http://2.png" /></p>'.replace(/(<img [^>]*src=['"]([^'"]+)[^>]*>)/gi,'<a href="$2">$1</a>'));
去除所有的标签
console.log('<a href="http://www.test.com/cn/page/internalmsg/index.html">sfsdfsdf</a>'.replace(/<\/?[^>]*>/g,''))
去除所有script脚本,中间部分也去除
"<script[^>]*?>.*?</script >"
去除script方法2
value.replace(/<script.*?>[sS]*?</script>|s+on[a-zA-Z]{3,16}s?=s?"[sS]*?"|s+on[a-zA-Z]{3,16}s?=s?'[sS]*?'|s+on[a-zA-Z]{3,16}s?=[^ >]+/ig,"");
去除所有标签,只剩部分标签
"<(?!br).*?>"; //去除所有标签,只剩br
"<table[^>]*?>.*?</table>"; //去除table里面的所有内容
"<(?!img|br|p|/p).*?>"; //去除所有标签,只剩img,br,p
提取页面代码中所有的网址
var aa = document.documentElement.outerHTML.match(/(url(|src=|href=)["']*([^"'()<>[] ]+)["')]*|(http://[w-.]+[^"'()<>[] ]+)/ig).join("").replace(/^(src=|href=|url()["']*|["'>) ]*$/igm,"");
相关链接:
js限制只能输入一位小数,限制第一位不能是小数
数字格式化为金额格式 (3位一个逗号隔开)如:100,000.00
js处理数字相关文章:
toFixed方法重写,toFixed四舍五入在数值很小时的精度问题
数字格式化,格式数字保留2位小数点,格式数字自定义保留n位小数点
数字格式化相关文章:
数字格式化,格式数字保留2位小数点,格式数字自定义保留n位小数点
数字格式化为金额格式 (3位一个逗号隔开)如:100,000.00
js 填写银行卡号时,每4个数字用空格隔开
js限制数字相关文章:
常用正则表达式
js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点