javascript一些正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
// 空字符串
function CheckEmpty( str )
{
return ( str == "" );
}
function Check( reg, str )
{
if( reg.test( str ) )
{
return true;
}
return false;
}
// 数字
function CheckNumber( str )
{
var reg = /^\d*(?:$|\.\d*$)/;
return Check( reg, str );
}
// 数值逻辑大小
function CompareNum( num1, num2 )
{
if( num1 > num2 )
{
return 1;
}
if( num1 == num2 )
{
return 0;
}
return -1;
}
// 邮编
function CheckZip( str )
{
var reg = /^\d{6}$/;
return Check( reg, str );
}
// 手机号/小灵通号
function CheckMobile( str )
{
var regMobile = /^\d{11,12}$/;
return Check( regMobile, str );
}
// 15位身份证号
function CheckNum15( str )
{
var reg = /^\d{15}$/;
return Check( reg, str );
}
// 18位身份证号
function CheckNum18( str )
{
var reg = /^\d{17}(?:\d|x)$/;
return Check( reg, str );
}
// 字母或数字
function CheckCharOrNum( str )
{
var reg = /^\w+$/;
return Check( reg, str );
}
// Email
function CheckEmail( str )
{
var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return Check( reg, str );
}