正则表达式
Posted fzj读你
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
正则表达式:
1.创建:
A.方式:
字面量:
var 变量名=/表达式/模式修饰符;
eg:
构造函数:
var 变量名=new RegExp(“表达式”,”模式修饰符”);
B.说明:
模式修饰符:
i:忽略大小写
g:全局模式,应用于所有字符串
m:多行匹配模式
表达式:
a.单个字符与数字:
. 匹配处换行以外的任意字符
[a-z0-9] 匹配方括号中的任意一个字符
[^a-z0-9] 不匹配方括号内的任意一个字符
\d 匹配数字
\D 匹配非数字
\w 匹配字母,数字,下划线
\W 匹配非字母……
b.空白字符:
\0 匹配null字符
\b 匹配空格字符
\f 匹配进制符
\n 匹配换行符
\r 匹配回车符
\s 匹配空白字符、空格、制表符、或换行符
\S 匹配非\S字符
\t 匹配制表符
c.定位符:
^ 行首匹配
g.或模式:
x|y|z 匹配x|y|z
2.属性:
实例属性:
global 检索是否设置g标志
ignoreCase 检索是否设置i标志
multiline 检索是否设置m标志
firstIndex
source
lastIndex
构造函数属性:
$_ input
$& lastMatch
$+ lastParen
$` leftContext
$‘ rightContext
$* multiline
3.方法:
实例方法:
exec:
功能:在字符串中执行匹配检索,返回结果数组。
参数:要应用模式匹配的字符串
特性:可以使用g标志。使用,得到所有,不使用,得到第一个匹配项。
执行过程:检索字符串参数,获取正则表达式匹配文本;找到匹配文本则返回一个数组,否则返回null。
派生属性:index:匹配项在字符串中的位置
input:应用正则表达式的字符串
length:返回数组元素个数。
test:
功能:在字符串中测试模式匹配,返回true或false。
字符串方法:
match: 找到一个或多个正则表达式的匹配
replace: 替换与正则表达式匹配的字符串
search: 检索与正则表达式相匹配的值
split: 把字符串分割成字符串数组
使用:
html:
js使用:
-?
[\w-]=[\w]
var re=/^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+/;
var mm=new RegExp(re);
var email=”[email protected]”;
if(mm.test(email)){
if(RegExp.1==1){
console.log(1);
}
console.log(12);
}
if(email.match(mm)){
if(RegExp.$1==1){
console.log(1);
}
console.log(12);
}
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
if (re.test("0.0001")) {
if (RegExp.$1 == 0 && RegExp.$2 == 0) {
return false;
}
console.log(RegExp.$1);
return true;
}
else {
return false;
}
var sToMatch = "test, Tes, tst, tset, Test, Tesyt, sTes";
var reEs = /es/gi;
alert(reEs.exec(sToMatch).length);
alert(sToMatch.match(reEs).length);
alert(sToMatch.search(reEs));
/*
用途:检查输入的Email信箱格式是否正确
输入:strEmail:字符串
返回:如果通过验证返回true,否则返回false
*/
function checkEmail(strEmail)
{
//var emailReg = /^[_a-z0-9][email protected]([_a-z0-9]+.)+[a-z0-9]{2,3}
if ( emailReg.test(strEmail) ) {
return true;
}
else {
alert(“您输入的Email地址格式不正确!”);
return false;
}
};
/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
function isIP(strIP)
{
if (isNull(strIP)) {
return false;
}
var re = /^(\d+).(\d+).(\d+).(\d+)/g //匹配IP地址的正则表达式
if (re.test(strIP)) {
if ( RegExp.1 < 256 && RegExp.2 < 256 && RegExp.3 < 256 && RegExp.$4 < 256) {
return true;
}
}
return false;
};
/*
用途:检查输入手机号码是否正确
输入:strMobile:字符串
返回:如果通过验证返回true,否则返回false
*/
function checkMobile( strMobile )
{
var regu = /^[1][3][0-9]{9}$/;
var re = new RegExp(regu);
if (re.test(strMobile)) {
return true;
}
else {
return false;
}
};
/*
用途:检查输入的电话号码格式是否正确
输入:strPhone:字符串
返回:如果通过验证返回true,否则返回false
*/
function checkPhone( strPhone )
{
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}
var prompt = “您输入的电话号码不正确!” if ( strPhone.length > 9 ) {
if ( phoneRegWithArea.test(strPhone) ) {
return true;
}
else {
alert( prompt );
return false;
}
以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性