正则表达式中的特殊字符
字符 含意
\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。
-或-
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。
^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
. 匹配以这个字符结尾的字符串,如/.at/匹配“cat”
* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次,/ba+/将匹配ba,baa,baaa
? 匹配前面元字符0次或1次,/ba?/将匹配b,ba
(x)在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰.取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
x|y 匹配x或y
{n} 精确匹配n次
{n,} 匹配n次以上
{n,m} 匹配n-m次
[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz] 不匹配这个集合中的任何一个字符
[\b] 匹配一个退格符
\b 匹配一个单词的边界
\B 匹配一个单词的非边界
\cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M
\d 匹配一个字数字符,/\d/ = /[0-9]/
\D 匹配一个非字数字符,/\D/ = /[^0-9]/
\n 匹配一个换行符
\r 匹配一个回车符
\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等
\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/
\t 匹配一个制表符
\v 匹配一个重直制表符
\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。
引用网址 http://hi.baidu.com/quiteuniverse/blog/item/9f3f043d46ad1e07bba16716.html
以下函数调用方式:
1
2
3
4
|
function
check()
{
var
bb = document.getElementById(
"txt_id"
).value;
alert(ismobile(bb));
|
HTML代码:
1
2
|
<input type=
"text"
name=
"textfield"
id=
"txt_id"
/>
<input type=
"submit"
name=
"Submit"
value=
"提交"
onclick=
"check()"
/>
|
**************************
/// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
1
2
3
4
5
6
7
|
function
isalphanumber(str){
var
result=str.match(/^[a-zA-Z0-9]+$/);
if
(result==
null
)
return
false
;
return
true
;
}
|
// 判断输入是否是一个整数
1
2
3
4
5
6
|
function
isint(str)
{
var
result=str.match(/^(-|\+)?\d+$/);
if
(result==
null
)
return
false
;
return
true
;
}
|
// 判断输入是否是有效的长日期格式 -
1
2
3
4
5
6
7
8
9
10
|
"YYYY-MM-DD HH:MM:SS"
||
"YYYY/MM/DD HH:MM:SS"
function
isdatetime(str)
{
var
result=str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if
(result==
null
)
return
false
;
var
d=
new
Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
return
(d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
}
|
// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
1
2
3
4
5
6
|
function
isdate(str){
var
result=str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if
(result==
null
)
return
false
;
var
d=
new
Date(result[1], result[3]-1, result[4]);
return
(d.getFullYear()==result[1] && d.getMonth()+1==result[3] && d.getDate()==result[4]);
}
|
// 判断输入是否是有效的电子邮件
1
2
3
4
5
6
|
function
isemail(str)
{
var
result=str.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
if
(result==
null
)
return
false
;
return
true
;
}
|
// 去除字符串的首尾的空格
1
2
3
|
function
trim(str){
return
str.replace(/(^\s*)|(\s*$)/g,
""
);
}
|
// 返回字符串的实际长度, 一个汉字算2个长度
1
2
3
|
function
strlen(str){
return
str.replace(/[^\x00-\xff]/g,
"**"
).length;
}
|
//匹配中国邮政编码(6位)
1
2
3
4
5
6
|
function
ispostcode(str)
{
var
result=str.match(/[1-9]\d{5}(?!\d)/);
if
(result==
null
)
return
false
;
return
true
;
}
|
//匹配国内电话号码(0511-4405222 或 021-87888822)
1
2
3
4
5
6
|
function
istell(str)
{
var
result=str.match(/\d{3}-\d{8}|\d{4}-\d{7}/);
if
(result==
null
)
return
false
;
return
true
;
}
|
//校验是否为(0-10000)的整数
1
2
3
4
5
6
|
function
isint1(str)
{
var
result=str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|^10000$/);
if
(result==
null
)
return
false
;
return
true
;
}
|
//匹配腾讯QQ号
1
2
3
4
5
6
|
function
isqq(str)
{
var
result=str.match(/[1-9][0-9]{4,}/);
if
(result==
null
)
return
false
;
return
true
;
}
|
//匹配身份证(15位或18位)
1
2
3
4
5
6
|
function
isidcard(str)
{
var pattern=/^(\d{14}|\d{17})([0-9]|X)$/g;
console.log((str).match(pattern));
}
|
//校验用户姓名:只能输入1-30个以字母开头的字串。
1
2
3
4
5
6
|
var pattern=/^([A-Za-z])(\S{0,29})/g;
console.log("a111111111111111111111111111111111".match(pattern))
|
//校验密码:只能输入6-20个字母、数字、下划线
1
2
3
4
5
6
|
var pattern=/^[A-Za-z0-9_]{6,20}$/g;
console.log("a111111111".match(pattern));
|
//人民币金额检测应用开发时,通常要对人民币金额进行检测,按参考人民币的数字表示规则,编写相应的检测正则式。
l 人民币可以精确到2位小数,但也可以不出现小数,如1.29元。
l 人民币可以没有整数部分,如.29元或0.29元。
l 人民币可以有正负金额,如-.29元或+0.29元。
1
2
3
4
5
6
|
var pattern=/^(-|)(|[0-9]*)(|\.)[0-9]*$/g;
console.log("-0.29".match(pattern));
|