表单验证的一些东西
2012-04-16 19:22
302 查看
/**
* 手机号码
* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
* 联通:130,131,132,152,155,156,185,186
* 电信:133,1349,153,180,189
String MOBILE = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
*/
/**
* 中国移动:China Mobile
* 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
String CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
*/
/**
* 中国联通:China Unicom
* 130,131,132,152,155,156,185,186
String CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$";
*/
/**
* 中国电信:China Telecom
* 133,1349,153,180,189
String CT = "^1((33|53|8[09])[0-9]|349)\\d{7}$";
*/
/**
* 大陆地区固话及小灵通
* 区号:010,020,021,022,023,024,025,027,028,029
* 号码:七位或八位
String PHS = "^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
*/
/*
* 判断是否为英文字母,是则返回true,否则返回false
*/
代码
function f_check_letter(obj)
{
if (/^[A-Za-z]+$/.test( obj.value ))
{
return true;
}
f_alert(obj,"请输入英文字母");
return false;
}
/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false
*/
代码
function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
var re = new RegExp(regu);
if (re.test( obj.value )) {
return true;
}
f_alert(obj,"请输入汉字、字母或数字");
return false;
}
/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
代码
function f_check_IP(obj)
{
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式
if(re.test( obj.value ))
{
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
}
f_alert(obj,"请输入合法的计算机IP地址");
return false;
}
/*
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
代码
function f_check_port(obj)
{
if(!f_check_number(obj))
return false;
if(obj.value < 65536)
return true;
f_alert(obj,"请输入合法的计算机IP地址端口号");
return false;
}
<script language="JavaScript">
//设置焦点函数
function focusElement(formName, elemName) {
var elem = document.forms[formName].elements[elemName];
elem.focus( );
elem.select( );
}
// 验证下拉框
function isChosen(select){
if (select.selectedIndex==0) {
alert("请选择下拉单相应栏目.");
focusElement(select.form.name,select.name);
return false;
} else {
return true;
}
}
//不为空函数
function isNotEmpty(elem) {
var str=elem.value;
if(str==null || str.length==0) {
alert("此项不能为空");
focusElement(elem.form.name,elem.name);
return false;
} else {
return true;
}
}
// 验证是否是数字
function isNumber(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
// -
if (oneChar==45) {
if (i==0) {
continue;
} else {
alert("Only the first character may be a minus sign.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
// 小数点
if (oneChar==46) {
if (!oneDecimal) {
oneDecimal=true;
continue;
} else {
alert("输入的数字只允许有一个小数点.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
// 数字只能在0和9之间
if (oneChar<48 || oneChar > 57) {
alert("此项只能输入数字.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
return true;
}
// 验证是否是数字电话
function istel(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
if(oneChar==45){continue;}
if(oneChar<48 || oneChar > 57) {
alert("此项只能输入数字和‘-‘号.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
return true;
}
//验证输入数据的长度
//邮编
function isLenMatch(elem,lengthNum) {
var str=elem.value;
if (str.length != lengthNum) {
alert("此项内容长度只能为"+lengthNum+"位.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
} else {
return true;
}
}
//邮件地址验证
function isEMailAddr(elem) {
var str = elem.value;
var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
if (!str.match(re)) {
alert("您输入的不是有效的e-mail地址.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
} else {
return true;
}
}
//单选按钮验证
function isValidRadio(radio) {
var valid=false;
for (var i=0; i<radio.length; i++) {
if (radio.checked) {
return true;
}
}
alert("单选按钮未选中.");
radio[0].focus();
//setTimeout("focusElement(‘" + radio[0].form.name + "‘, ‘" + radio[0].name + "‘)", 0);
focusElement(radio[0].form.name,radio[0].name);
return false;
}
</script>
<script language="JavaScript">
functio
4000
n validateForm(form) {
if (isNotEmpty(form.name1) && isNotEmpty(form.name2)) {;}else{return false;
}
</script>
<title>JS验证程序Sample</title></head>
<body>
<form method="GET" action="index.htm" name="sampleForm" onsubmit="return validateForm(this)">
<p>姓名:
<input type="text" size="30" name="name1" id="name1" />
</body>
</html>
//函数名:chksafe
//功能介绍:检查是否含有"‘",‘\‘,"/"
//参数说明:要检查的字符串
//返回值:0:是 1:不是
function chksafe(a)
{
return 1;
/* fibdn = new Array ("‘" ,"\", "、", ",", ";", "/");
i=fibdn.length;
j=a.length;
for (ii=0;ii<i;ii++)
{ for (jj=0;jj<j;jj++)
{ temp1=a.charAt(jj);
temp2=fibdn[ii];
if (tem‘;p1==temp2)
{ return 0; }
}
}
return 1;
*/
}
//函数名:chkspc
//功能介绍:检查是否含有空格
//参数说明:要检查的字符串
//返回值:0:是 1:不是
function chkspc(a)
{
var i=a.length;
var j = 0;
var k = 0;
while (k<i)
{
if (a.charAt(k) != " ")
j = j+1;
k = k+1;
}
if (j==0)
{
return 0;
}
if (i!=j)
{ return 2; }
else
{
return 1;
}
}
//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf(‘@‘);
var tempd = a.indexOf(‘.‘);
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}
//opt1 小数 opt2 负数
//当opt2为1时检查num是否是负数
//当opt1为1时检查num是否是小数
//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于记录.的个数
status=0;
if ((opt2!=1) && (num.charAt(0)==‘-‘))
{
//alert("You have enter a invalid number.");
return 0;
}
//当最后一位为.时出错
if (num.charAt(i-1)==‘.‘)
{
//alert("You have enter a invalid number.");
return 0;
}
for (j=0;j<i;j++)
{
if (num.charAt(j)==‘.‘)
{
status++;
}
if (status>1)
{
//alert("You have enter a invalid number.");
return 0;
}
if (num.charAt(j)<‘0‘ || num.charAt(j)>‘9‘ )
{
if (((opt1==0) || (num.charAt(j)!=‘.‘)) && (j!=0))
{
//alert("You have enter a invalid number.");
return 0;
}
}
}
return 1;
}
//函数名:chkdate
//功能介绍:检查是否为日期
//参数说明:要检查的字符串
//返回值:0:不是日期 1:是日期
function chkdate(datestr)
{
var lthdatestr
if (datestr != "")
lthdatestr= datestr.length ;
else
lthdatestr=0;
var tmpy="";
var tmpm="";
var tmpd="";
//var datestr;
var status;
status=0;
if ( lthdatestr== 0)
return 0
for (i=0;i<lthdatestr;i++)
{ if (datestr.charAt(i)== ‘-‘)
{
status++;
}
if (status>2)
{
//alert("Invalid format of date!");
return 0;
}
if ((status==0) && (datestr.charAt(i)!=‘-‘))
{
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!=‘-‘))
{
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!=‘-‘))
{
tmpd=tmpd+datestr.charAt(i)
}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
//tempdate= new String (year+month+day);
//alert(tempdate);
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
{
//alert("Invalid format of date!");
return 0;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
{
//alert ("Invalid month or day!");
return 0;
}
if (!((year % 4)==0) && (month==2) && (day==29))
{
//alert ("This is not a leap year!");
return 0;
}
if ((month<=7) && ((month % 2)==0) && (day>=31))
{
//alert ("This month is a small month!");
return 0;
}
if ((month>=8) && ((month % 2)==1) && (day>=31))
{
//alert ("This month is a small month!");
return 0;
}
if ((month==2) && (day==30))
{
//alert("The Febryary never has this day!");
return 0;
}
return 1;
}
//函数名:fucPWDchk
//功能介绍:检查是否含有非数字或字母
//参数说明:要检查的字符串
//返回值:0:含有 1:全部为数字或字母
function fucPWDchk(str)
{
var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
return 0;
}
}
if (strSource.indexOf(ch)==-1)
{
return 0;
}
else
{
return 1;
}
}
function jtrim(str)
{ while (str.charAt(0)==" ")
{str=str.substr(1);}
while (str.charAt(str.length-1)==" ")
{str=str.substr(0,str.length-1);}
return(str);
}
//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//说明有字符不是数字
return 0;
}
}
//说明是数字
return 1;
}
//函数名:fucCheckTEL
//功能介绍:检查是否为电话号码
//参数说明:要检查的字符串
//返回值:1为是合法,0为不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//说明有字符不合法
return 0;
}
}
//说明合法
return 1;
}
//函数名:fucCheckLength
//功能介绍:检查字符串的长度
//参数说明:要检查的字符串
//返回值:长度值
function fucCheckLength(strTemp)
{
var i,sum;
sum=0;
for(i=0;i<strTemp.length;i++)
{
if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
sum=sum+1;
else
sum=sum+2;
}
return sum;
}
用户名: 密码: 登录 注册 JayChang_Z的空间 主页博客相册|个人档案 |好友 查看文章
通用JS验证(手机,电话,邮箱,QQ)2010-05-04 18:59//定义邮箱,电话,手机,QQ,税友通验证标志
var email_Flag = false;
var phone_Flag = false;
var mobile_Flag = false;
var qq_Flag = false;
var syt_Flag = false;
//验证是否为空
function verifyIsNull(info_span,str){
var flag = false;
if(str == ""){
info_span.innerHTML = "对不起,您输入的内容为空。";
flag = true;
}
return flag;
}
//验证邮箱
function verfifyEmail(){
var strEmail = document.getElementById("email").value;
var email_info = document.getElementById("email_info");
if(verifyIsNull(email_info,strEmail)){
email_Flag = false;
return ;
}
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
email_Flag = reg.test(strEmail);
if(email_Flag){
email_info.innerHTML = "恭喜!邮箱地址输入正确。";
}else{
email_info.innerHTML = "对不起,您输入的邮箱地址格式错误。";
}
}
//验证qq号码
function verifyQQ(){
var strQQ = document.getElementById("qq").value;
var qq_info = document.getElementById("qq_info");
if(verifyIsNull(qq_info,strQQ)){
qq_Flag = false;
return;
}
var reg = /^[1-9]\d{4,8}$/;
qq_Flag = reg.test(strQQ);
if(qq_Flag){
qq_info.innerHTML = "恭喜!QQ号码输入正确。";
}else{
qq_info.innerHTML = "对不起,您输入的QQ号码格式错误。";
}
}
//验证电话号码
function verifyPhone(){
var strPhone = document.getElementById("phone").value;
var phone_info = document.getElementById("phone_info");
var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if(verifyIsNull(phone_info,strPhone)){
phone_Flag = false;
return ;
}
phone_Flag = reg.test(strPhone);
if(phone_Flag){
phone_info.innerHTML = "恭喜!电话号码输入正确。";
}else{
phone_info.innerHTML = "对不起,您输入的电话号码格式错误。";
}
}
//验证手机号码
function verifyMobile(){
var strMobile = document.getElementById("mobile").value;
var mobile_info = document.getElementById("mobile_info");
if(verifyIsNull(mobile_info,strMobile)){
mobile_Flag = false;
return;
}
var reg0=/^13\d{9}$/;
var reg1=/^153\d{8}$/;
var reg2=/^159\d{8}$/;
var reg3=/^158\d{8}$/;
var reg4=/^150\d{8}$/;
if(reg0.test(strMobile) || reg1.test(strMobile) || reg2.test(strMobile) || reg3.test(strMobile) || reg4.test(strMobile)){
mobile_Flag = true;
}else{
mobile_Flag = false;
}
if (mobile_Flag){
document.getElementById("mobile_info").innerHTML = "恭喜!手机号码输入正确。";
}else{
document.getElementById("mobile_info").innerHTML = "对不起,您输入的手机号码格式错误。";
}
}
说明
test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
<input type="text" id="xxx" onblur="verifyXxx();" onfocus="clearInfo(document.getElementById('xxx'))" />
<span id="xxx_info"></span>
类别:javascript/ajax | | 添加到搜藏 | 分享到i贴吧 | 浏览(100) | 评论 (0) 上一篇:spring2.5整合struts1.2.9(Mappi... 下一篇:关于 Java 对象序列化您不知道的... 相关文章:? JS正则验证邮箱/手机/电话的格式 ? JS 手机,邮箱,邮编,座机等常见验...
? 常用的js验证数字,电话号码,传真... ? js邮箱验证代码
? js号码,邮箱验证 ? 统计输入字节数量,汉字为三字节,...
? (原创)JS 工具类 读取cookie 用... ? JS验证邮箱 身份证 VISA 卡输入...
? JS jquery 验证邮箱 ? radio,select,生日,年份?,邮箱 ...
更多>>
最近读者: 登录后,您就出现在这里。
rovern leadtoit woshilaidage ifhaveif_01 xiongcan530 徐宗湖
网友评论: 发表评论:
内 容:
取消回复
/* 用途:检查输入的Email信箱格式是否正确 输入:strEmail:字符串 返回:如果通过验证返回true,否则返回false */function checkEmail(strEmail) { //var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; 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 phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; var prompt = "您输入的电话号码不正确!" if ( strPhone.length > 9 ) {
if ( phoneRegWithArea.test(strPhone) ) { return true; } else { alert( prompt ); return false; } } else { if ( phoneRegNoArea.test( strPhone ) ) { return true; }
else { alert( prompt ); return fal
11b34
se; } } }; /* 用途:检查输入字符串是否为空或者全部都是空格 输入:str 返回:如果全是空返回true,否则返回false */function isNull( str ) { if ( str == "" ) { return true; } var regu = "^[ ]+$"; var re
= new RegExp(regu); return re.test(str); }; /* 用途:检查输入对象的值是否符合整数格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */function isInteger( str ) { var regu = /^[-]{0,1}[0-9]{1,}$/; return regu.test(str); }; /* 用途:检查输入字符串是否符合正整数格式 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isNumber( s ) { var regu = "^[0-9]+$"; var re = new RegExp(regu); if (s.search(re) != - 1) { return true; } else { return false; } }; /* 用途:检查输入字符串是否是带小数的数字格式,可以是负数 输入:str:字符串 返回:如果通过验证返回true,否则返回false
*/function isDecimal( str ) { if (isInteger(str)) { return true; } var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; if (re.test(str)) { if (RegExp.$1 == 0 && RegExp.$2 == 0) { return false; } return true;
} else { return false; } }; /* 用途:检查输入对象的值是否符合端口号格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */function isPort( str ) { return (isNumber(str) && str < 65536); }; /* 用途:检查输入字符串是否符合金额格式,格式定义为带小数的正数,小数点后最多三位 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isMoney( s ) { var regu = "^[0-9]+[\.][0-9]{0,3}$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isNumberOr_Letter( s ) { //判断是否是数字或字母 var regu = "^[0-9a-zA-Z\_]+$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:检查输入字符串是否只由英文字母和数字组成 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isNumberOrLetter( s ) { //判断是否是数字或字母 var regu = "^[0-9a-zA-Z]+$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:检查输入字符串是否只由汉字、字母、数字组成 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isChinaOrNumbOrLett( s ) { //判断是否是汉字、字母、数字组成 var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:判断是否是日期 输入:date:日期;fmt:日期格式
返回:如果通过验证返回true,否则返回false */function isDate( date, fmt ) { if (fmt == null) { fmt = "yyyyMMdd"; } var yIndex = fmt.indexOf("yyyy"); if (yIndex ==- 1) { return false; } var year = date.substring(yIndex, yIndex + 4);
var mIndex = fmt.indexOf("MM"); if (mIndex ==- 1) { return false; } var month = date.substring(mIndex, mIndex + 2); var dIndex = fmt.indexOf("dd"); if (dIndex ==- 1) { return false; } var day = date.substring(dIndex,
dIndex + 2); if (!isNumber(year) || year > "2100" || year < "1900") { return false; } if (!isNumber(month) || month > "12" || month < "01") { return false; } if (day > getMaxDay(year, month) || day < "01") { return
false; } return true; }; function getMaxDay(year, month) { if (month == 4 || month == 6 || month == 9 || month == 11) { return "30"; } if (month == 2) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return "29"; } else { return "28"; } return "31";; } }; /* 用途:字符1是否以字符串2结束 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false */function isLastMatch(str1, str2) { var index = str1.lastIndexOf(str2);
if (str1.length == index + str2.length) { return true; } return false; }; /* 用途:字符1是否以字符串2开始 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false */function isFirstMatch(str1, str2) { var index = str1.indexOf(str2); if (index ==
0) { return true; } return false; }; /* 用途:字符1是包含字符串2 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false */function isMatch(str1, str2) { var index = str1.indexOf(str2); if (index ==- 1) { return false; } return
true; }; /* 用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,且结束如期>=起始日期 输入:startDate:起始日期,字符串; endDate:结束如期,字符串 返回:如果通过验证返回true,否则返回false */function checkTwoDate( startDate, endDate ) { if ( !isDate(startDate) ) { alert("起始日期不正确!"); return false;
} else if ( !isDate(endDate) ) { alert("终止日期不正确!"); return false; } else if ( startDate > endDate ) { alert("起始日期不能大于终止日期!"); return false; } return true; }; /* 用途:检查复选框被选中的数目 输入:checkboxID:字符串 返回:返回该复选框中被选中的数目
*/function checkSelect( checkboxID ) { var check = 0; var i = 0; if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { if ( document.all(checkboxID).item( i ).checked )
{ check += 1; } } } else { if ( document.all(checkboxID).checked ) { check = 1; } } return check; } function getTotalBytes(varField) { if (varField == null) { return
- 1; } var totalCount = 0; for (i = 0; i < varField.value.length; i++) { if (varField.value.charCodeAt(i) > 127) { totalCount += 2; } else { totalCount++ ; } } return totalCount; }
function getFirstSelectedValue( checkboxID ) { var value = null; var i = 0; if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { if ( document.all(checkboxID).item(
i ).checked ) { value = document.all(checkboxID).item(i).value; break; } } } else { if ( document.all(checkboxID).checked ) { value = document.all(checkboxID).value; }
} return value; } function getFirstSelectedIndex( checkboxID ) { var value = - 2; var i = 0; if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { if ( document.all(checkboxID).item(
i ).checked ) { value = i; break; } } } else { if ( document.all(checkboxID).checked ) { value = - 1; } } return value; } function selectAll( checkboxID, status
) { if ( document.all(checkboxID) == null) { return; } if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { document.all(checkboxID).item( i ).checked = status;
} } else { document.all(checkboxID).checked = status; } } function selectInverse( checkboxID ) { if ( document.all(checkboxID) == null) { return; } if ( document.all(checkboxID).length > 0 ) { for ( i =
0; i < document.all(checkboxID).length; i++ ) { document.all(checkboxID).item( i ).checked = !document.all(checkboxID).item( i ).checked; } } else { document.all(checkboxID).checked = !document.all(checkboxID).checked;
} } function checkDate( value ) { if (value == '') { return true; } if (value.length != 8 || !isNumber(value)) { return false; } var year = value.substring(0, 4); if (year > "2100" || year < "1900") { return
false; } var month = value.substring(4, 6); if (month > "12" || month < "01") { return false; } var day = value.substring(6, 8); if (day > getMaxDay(year, month) || day < "01") { return false; } return true;
}; /* 用途:检查输入的起止日期是否正确,规则为两个日期的格式正确或都为空且结束日期>=起始日期 输入:startDate:起始日期,字符串; endDate: 结束日期,字符串 返回:如果通过验证返回true,否则返回false */function checkPeriod( startDate, endDate ) { if ( !checkDate(startDate) ) { alert("起始日期不正确!"); return false;
} else if ( !checkDate(endDate) ) { alert("终止日期不正确!"); return false; } else if ( startDate > endDate ) { alert("起始日期不能大于终止日期!"); return false; } return true; }; /* 用途:检查证券代码是否正确 输入:secCode:证券代码 返回:如果通过验证返回true,否则返回false
*/function checkSecCode( secCode ) { if ( secCode.length != 6 ) { alert("证券代码长度应该为6位"); return false; } if (!isNumber( secCode ) ) { alert("证券代码只能包含数字"); return false; } return true; }; /* function:cTrim(sInputString,iType)
description:字符串去空格的函数 parameters:iType:1=去掉字符串左边的空格;2=去掉字符串左边的空格;0=去掉字符串左边和右边的空格 return value:去掉空格的字符串 */function cTrim(sInputString, iType) { var sTmpStr = ' '; var i = - 1; if (iType == 0 || iType == 1) { while (sTmpStr == '
') { ++i; sTmpStr = sInputString.substr(i, 1); } sInputString = sInputString.substring(i); } if (iType == 0 || iType == 2) { sTmpStr = ' '; i = sInputString.length; while (sTmpStr
== ' ') { --i; sTmpStr = sInputString.substr(i, 1); } sInputString = sInputString.substring(0, i + 1); } return sInputString; };
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:
只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&’,;=?$”等字符:“[^%&',;=?$x22]+”
只能输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
正确格式为:“01”“09”和“1”“31”。
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
=function(){return ([^x00-xff]/g,”aa”).length;}
(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
= function()
{
return (/(^s*)|(s*$)/g, “”);
}
(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //IP地址转换成对应数值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if((ip))
{
return RegExp.$1*(255,3))+RegExp.$2*(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error(”Not a valid IP address!”)
}
}
(4)应用:从URL地址中提取文件名的javascript程序
s=” />s=(/(.*/){0,}([^.]+).*/ig,”$2″) ; //
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:onkeyup=”value=”/blog/(/["^u4E00-u9FA5]/g,”) ” onbeforepaste=”(’text’,(’text’).replace(/[^u4E00-u9FA5]/g,”))”
用正则表达式限制只能输入全角字符: onkeyup=”value=”/blog/(/["^uFF00-uFFFF]/g,”) ” onbeforepaste=”(’text’,(’text’).replace(/[^uFF00-uFFFF]/g,”))”
用正则表达式限制只能输入数字:onkeyup=”value=”/blog/(/["^d]/g,”) “onbeforepaste= “(’text’,(’text’).replace(/[^d]/g,”))”
用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/(/[W]/g,””) “onbeforepaste=”(’text’,(’text’).replace(/[^d]/
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
用户名:/^[a-z0-9_-]{3,16}$/
密码:/^[a-z0-9_-]{6,18}$/
十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
URL:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
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 标签:/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Unicode编码中的汉字范围:/^[u4e00-u9fa5],{0,}$/
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国大陆邮政编码:[1-9]\d{5}(?!\d)
评注:中国大陆邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
评注:中国大陆的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
//验证腾讯微博
function verifytencentWeb(tencentWeb,tencentWeb_info){
var reg = /^(http:\/\/t.qq.com\/)(?:([^:@]+)(?::([^@]*))?@)?([^:@]+)(?::(\d+))?(?:(.*?)(?:\?(.*?))?(?:#(.*?))?)$/;
var qq_Flag = reg.test(tencentWeb);
if(verifyIsNull(tencentWeb)){
tencentWeb_info.innerHTML = "";
return true;
}
if(qq_Flag){
tencentWeb_info.innerHTML = "";
return true;
}else{
tencentWeb_info.innerHTML = "对不起,您输入的腾讯微博地址错误。";
return false;
}
}
//验证新浪微博
function verifysinaWeb(sinaWeb,sinaWeb_info){
var reg = /^(http:\/\/weibo.com\/)(?:([^:@]+)(?::([^@]*))?@)?([^:@]+)(?::(\d+))?(?:(.*?)(?:\?(.*?))?(?:#(.*?))?)$/;
var qq_Flag = reg.test(sinaWeb);
if(verifyIsNull(sinaWeb)){
sinaWeb_info.innerHTML = "";
return true;
}
if(qq_Flag){
sinaWeb_info.innerHTML = "";
return true;
}else{
sinaWeb_info.innerHTML = "对不起,您输入的新浪微博地址错误。";
return false;
}
}
* 手机号码
* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
* 联通:130,131,132,152,155,156,185,186
* 电信:133,1349,153,180,189
String MOBILE = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
*/
/**
* 中国移动:China Mobile
* 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
String CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
*/
/**
* 中国联通:China Unicom
* 130,131,132,152,155,156,185,186
String CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$";
*/
/**
* 中国电信:China Telecom
* 133,1349,153,180,189
String CT = "^1((33|53|8[09])[0-9]|349)\\d{7}$";
*/
/**
* 大陆地区固话及小灵通
* 区号:010,020,021,022,023,024,025,027,028,029
* 号码:七位或八位
String PHS = "^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
*/
/*
* 判断是否为英文字母,是则返回true,否则返回false
*/
代码
function f_check_letter(obj)
{
if (/^[A-Za-z]+$/.test( obj.value ))
{
return true;
}
f_alert(obj,"请输入英文字母");
return false;
}
/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false
*/
代码
function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
var re = new RegExp(regu);
if (re.test( obj.value )) {
return true;
}
f_alert(obj,"请输入汉字、字母或数字");
return false;
}
/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
代码
function f_check_IP(obj)
{
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式
if(re.test( obj.value ))
{
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
}
f_alert(obj,"请输入合法的计算机IP地址");
return false;
}
/*
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
代码
function f_check_port(obj)
{
if(!f_check_number(obj))
return false;
if(obj.value < 65536)
return true;
f_alert(obj,"请输入合法的计算机IP地址端口号");
return false;
}
<script language="JavaScript">
//设置焦点函数
function focusElement(formName, elemName) {
var elem = document.forms[formName].elements[elemName];
elem.focus( );
elem.select( );
}
// 验证下拉框
function isChosen(select){
if (select.selectedIndex==0) {
alert("请选择下拉单相应栏目.");
focusElement(select.form.name,select.name);
return false;
} else {
return true;
}
}
//不为空函数
function isNotEmpty(elem) {
var str=elem.value;
if(str==null || str.length==0) {
alert("此项不能为空");
focusElement(elem.form.name,elem.name);
return false;
} else {
return true;
}
}
// 验证是否是数字
function isNumber(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
// -
if (oneChar==45) {
if (i==0) {
continue;
} else {
alert("Only the first character may be a minus sign.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
// 小数点
if (oneChar==46) {
if (!oneDecimal) {
oneDecimal=true;
continue;
} else {
alert("输入的数字只允许有一个小数点.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
// 数字只能在0和9之间
if (oneChar<48 || oneChar > 57) {
alert("此项只能输入数字.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
return true;
}
// 验证是否是数字电话
function istel(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
if(oneChar==45){continue;}
if(oneChar<48 || oneChar > 57) {
alert("此项只能输入数字和‘-‘号.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
}
}
return true;
}
//验证输入数据的长度
//邮编
function isLenMatch(elem,lengthNum) {
var str=elem.value;
if (str.length != lengthNum) {
alert("此项内容长度只能为"+lengthNum+"位.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
} else {
return true;
}
}
//邮件地址验证
function isEMailAddr(elem) {
var str = elem.value;
var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
if (!str.match(re)) {
alert("您输入的不是有效的e-mail地址.");
setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);
return false;
} else {
return true;
}
}
//单选按钮验证
function isValidRadio(radio) {
var valid=false;
for (var i=0; i<radio.length; i++) {
if (radio.checked) {
return true;
}
}
alert("单选按钮未选中.");
radio[0].focus();
//setTimeout("focusElement(‘" + radio[0].form.name + "‘, ‘" + radio[0].name + "‘)", 0);
focusElement(radio[0].form.name,radio[0].name);
return false;
}
</script>
<script language="JavaScript">
functio
4000
n validateForm(form) {
if (isNotEmpty(form.name1) && isNotEmpty(form.name2)) {;}else{return false;
}
</script>
<title>JS验证程序Sample</title></head>
<body>
<form method="GET" action="index.htm" name="sampleForm" onsubmit="return validateForm(this)">
<p>姓名:
<input type="text" size="30" name="name1" id="name1" />
</body>
</html>
//函数名:chksafe
//功能介绍:检查是否含有"‘",‘\‘,"/"
//参数说明:要检查的字符串
//返回值:0:是 1:不是
function chksafe(a)
{
return 1;
/* fibdn = new Array ("‘" ,"\", "、", ",", ";", "/");
i=fibdn.length;
j=a.length;
for (ii=0;ii<i;ii++)
{ for (jj=0;jj<j;jj++)
{ temp1=a.charAt(jj);
temp2=fibdn[ii];
if (tem‘;p1==temp2)
{ return 0; }
}
}
return 1;
*/
}
//函数名:chkspc
//功能介绍:检查是否含有空格
//参数说明:要检查的字符串
//返回值:0:是 1:不是
function chkspc(a)
{
var i=a.length;
var j = 0;
var k = 0;
while (k<i)
{
if (a.charAt(k) != " ")
j = j+1;
k = k+1;
}
if (j==0)
{
return 0;
}
if (i!=j)
{ return 2; }
else
{
return 1;
}
}
//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf(‘@‘);
var tempd = a.indexOf(‘.‘);
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}
//opt1 小数 opt2 负数
//当opt2为1时检查num是否是负数
//当opt1为1时检查num是否是小数
//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于记录.的个数
status=0;
if ((opt2!=1) && (num.charAt(0)==‘-‘))
{
//alert("You have enter a invalid number.");
return 0;
}
//当最后一位为.时出错
if (num.charAt(i-1)==‘.‘)
{
//alert("You have enter a invalid number.");
return 0;
}
for (j=0;j<i;j++)
{
if (num.charAt(j)==‘.‘)
{
status++;
}
if (status>1)
{
//alert("You have enter a invalid number.");
return 0;
}
if (num.charAt(j)<‘0‘ || num.charAt(j)>‘9‘ )
{
if (((opt1==0) || (num.charAt(j)!=‘.‘)) && (j!=0))
{
//alert("You have enter a invalid number.");
return 0;
}
}
}
return 1;
}
//函数名:chkdate
//功能介绍:检查是否为日期
//参数说明:要检查的字符串
//返回值:0:不是日期 1:是日期
function chkdate(datestr)
{
var lthdatestr
if (datestr != "")
lthdatestr= datestr.length ;
else
lthdatestr=0;
var tmpy="";
var tmpm="";
var tmpd="";
//var datestr;
var status;
status=0;
if ( lthdatestr== 0)
return 0
for (i=0;i<lthdatestr;i++)
{ if (datestr.charAt(i)== ‘-‘)
{
status++;
}
if (status>2)
{
//alert("Invalid format of date!");
return 0;
}
if ((status==0) && (datestr.charAt(i)!=‘-‘))
{
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!=‘-‘))
{
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!=‘-‘))
{
tmpd=tmpd+datestr.charAt(i)
}
}
year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
//tempdate= new String (year+month+day);
//alert(tempdate);
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
{
//alert("Invalid format of date!");
return 0;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
{
//alert ("Invalid month or day!");
return 0;
}
if (!((year % 4)==0) && (month==2) && (day==29))
{
//alert ("This is not a leap year!");
return 0;
}
if ((month<=7) && ((month % 2)==0) && (day>=31))
{
//alert ("This month is a small month!");
return 0;
}
if ((month>=8) && ((month % 2)==1) && (day>=31))
{
//alert ("This month is a small month!");
return 0;
}
if ((month==2) && (day==30))
{
//alert("The Febryary never has this day!");
return 0;
}
return 1;
}
//函数名:fucPWDchk
//功能介绍:检查是否含有非数字或字母
//参数说明:要检查的字符串
//返回值:0:含有 1:全部为数字或字母
function fucPWDchk(str)
{
var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
return 0;
}
}
if (strSource.indexOf(ch)==-1)
{
return 0;
}
else
{
return 1;
}
}
function jtrim(str)
{ while (str.charAt(0)==" ")
{str=str.substr(1);}
while (str.charAt(str.length-1)==" ")
{str=str.substr(0,str.length-1);}
return(str);
}
//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//说明有字符不是数字
return 0;
}
}
//说明是数字
return 1;
}
//函数名:fucCheckTEL
//功能介绍:检查是否为电话号码
//参数说明:要检查的字符串
//返回值:1为是合法,0为不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//说明有字符不合法
return 0;
}
}
//说明合法
return 1;
}
//函数名:fucCheckLength
//功能介绍:检查字符串的长度
//参数说明:要检查的字符串
//返回值:长度值
function fucCheckLength(strTemp)
{
var i,sum;
sum=0;
for(i=0;i<strTemp.length;i++)
{
if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
sum=sum+1;
else
sum=sum+2;
}
return sum;
}
用户名: 密码: 登录 注册 JayChang_Z的空间 主页博客相册|个人档案 |好友 查看文章
通用JS验证(手机,电话,邮箱,QQ)2010-05-04 18:59//定义邮箱,电话,手机,QQ,税友通验证标志
var email_Flag = false;
var phone_Flag = false;
var mobile_Flag = false;
var qq_Flag = false;
var syt_Flag = false;
//验证是否为空
function verifyIsNull(info_span,str){
var flag = false;
if(str == ""){
info_span.innerHTML = "对不起,您输入的内容为空。";
flag = true;
}
return flag;
}
//验证邮箱
function verfifyEmail(){
var strEmail = document.getElementById("email").value;
var email_info = document.getElementById("email_info");
if(verifyIsNull(email_info,strEmail)){
email_Flag = false;
return ;
}
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
email_Flag = reg.test(strEmail);
if(email_Flag){
email_info.innerHTML = "恭喜!邮箱地址输入正确。";
}else{
email_info.innerHTML = "对不起,您输入的邮箱地址格式错误。";
}
}
//验证qq号码
function verifyQQ(){
var strQQ = document.getElementById("qq").value;
var qq_info = document.getElementById("qq_info");
if(verifyIsNull(qq_info,strQQ)){
qq_Flag = false;
return;
}
var reg = /^[1-9]\d{4,8}$/;
qq_Flag = reg.test(strQQ);
if(qq_Flag){
qq_info.innerHTML = "恭喜!QQ号码输入正确。";
}else{
qq_info.innerHTML = "对不起,您输入的QQ号码格式错误。";
}
}
//验证电话号码
function verifyPhone(){
var strPhone = document.getElementById("phone").value;
var phone_info = document.getElementById("phone_info");
var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if(verifyIsNull(phone_info,strPhone)){
phone_Flag = false;
return ;
}
phone_Flag = reg.test(strPhone);
if(phone_Flag){
phone_info.innerHTML = "恭喜!电话号码输入正确。";
}else{
phone_info.innerHTML = "对不起,您输入的电话号码格式错误。";
}
}
//验证手机号码
function verifyMobile(){
var strMobile = document.getElementById("mobile").value;
var mobile_info = document.getElementById("mobile_info");
if(verifyIsNull(mobile_info,strMobile)){
mobile_Flag = false;
return;
}
var reg0=/^13\d{9}$/;
var reg1=/^153\d{8}$/;
var reg2=/^159\d{8}$/;
var reg3=/^158\d{8}$/;
var reg4=/^150\d{8}$/;
if(reg0.test(strMobile) || reg1.test(strMobile) || reg2.test(strMobile) || reg3.test(strMobile) || reg4.test(strMobile)){
mobile_Flag = true;
}else{
mobile_Flag = false;
}
if (mobile_Flag){
document.getElementById("mobile_info").innerHTML = "恭喜!手机号码输入正确。";
}else{
document.getElementById("mobile_info").innerHTML = "对不起,您输入的手机号码格式错误。";
}
}
说明
test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
<input type="text" id="xxx" onblur="verifyXxx();" onfocus="clearInfo(document.getElementById('xxx'))" />
<span id="xxx_info"></span>
类别:javascript/ajax | | 添加到搜藏 | 分享到i贴吧 | 浏览(100) | 评论 (0) 上一篇:spring2.5整合struts1.2.9(Mappi... 下一篇:关于 Java 对象序列化您不知道的... 相关文章:? JS正则验证邮箱/手机/电话的格式 ? JS 手机,邮箱,邮编,座机等常见验...
? 常用的js验证数字,电话号码,传真... ? js邮箱验证代码
? js号码,邮箱验证 ? 统计输入字节数量,汉字为三字节,...
? (原创)JS 工具类 读取cookie 用... ? JS验证邮箱 身份证 VISA 卡输入...
? JS jquery 验证邮箱 ? radio,select,生日,年份?,邮箱 ...
更多>>
最近读者: 登录后,您就出现在这里。
rovern leadtoit woshilaidage ifhaveif_01 xiongcan530 徐宗湖
网友评论: 发表评论:
内 容:
取消回复
/* 用途:检查输入的Email信箱格式是否正确 输入:strEmail:字符串 返回:如果通过验证返回true,否则返回false */function checkEmail(strEmail) { //var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; 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 phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; var prompt = "您输入的电话号码不正确!" if ( strPhone.length > 9 ) {
if ( phoneRegWithArea.test(strPhone) ) { return true; } else { alert( prompt ); return false; } } else { if ( phoneRegNoArea.test( strPhone ) ) { return true; }
else { alert( prompt ); return fal
11b34
se; } } }; /* 用途:检查输入字符串是否为空或者全部都是空格 输入:str 返回:如果全是空返回true,否则返回false */function isNull( str ) { if ( str == "" ) { return true; } var regu = "^[ ]+$"; var re
= new RegExp(regu); return re.test(str); }; /* 用途:检查输入对象的值是否符合整数格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */function isInteger( str ) { var regu = /^[-]{0,1}[0-9]{1,}$/; return regu.test(str); }; /* 用途:检查输入字符串是否符合正整数格式 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isNumber( s ) { var regu = "^[0-9]+$"; var re = new RegExp(regu); if (s.search(re) != - 1) { return true; } else { return false; } }; /* 用途:检查输入字符串是否是带小数的数字格式,可以是负数 输入:str:字符串 返回:如果通过验证返回true,否则返回false
*/function isDecimal( str ) { if (isInteger(str)) { return true; } var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; if (re.test(str)) { if (RegExp.$1 == 0 && RegExp.$2 == 0) { return false; } return true;
} else { return false; } }; /* 用途:检查输入对象的值是否符合端口号格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */function isPort( str ) { return (isNumber(str) && str < 65536); }; /* 用途:检查输入字符串是否符合金额格式,格式定义为带小数的正数,小数点后最多三位 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isMoney( s ) { var regu = "^[0-9]+[\.][0-9]{0,3}$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isNumberOr_Letter( s ) { //判断是否是数字或字母 var regu = "^[0-9a-zA-Z\_]+$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:检查输入字符串是否只由英文字母和数字组成 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isNumberOrLetter( s ) { //判断是否是数字或字母 var regu = "^[0-9a-zA-Z]+$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:检查输入字符串是否只由汉字、字母、数字组成 输入:s:字符串 返回:如果通过验证返回true,否则返回false
*/function isChinaOrNumbOrLett( s ) { //判断是否是汉字、字母、数字组成 var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"; var re = new RegExp(regu); if (re.test(s)) { return true; } else { return false; } }; /* 用途:判断是否是日期 输入:date:日期;fmt:日期格式
返回:如果通过验证返回true,否则返回false */function isDate( date, fmt ) { if (fmt == null) { fmt = "yyyyMMdd"; } var yIndex = fmt.indexOf("yyyy"); if (yIndex ==- 1) { return false; } var year = date.substring(yIndex, yIndex + 4);
var mIndex = fmt.indexOf("MM"); if (mIndex ==- 1) { return false; } var month = date.substring(mIndex, mIndex + 2); var dIndex = fmt.indexOf("dd"); if (dIndex ==- 1) { return false; } var day = date.substring(dIndex,
dIndex + 2); if (!isNumber(year) || year > "2100" || year < "1900") { return false; } if (!isNumber(month) || month > "12" || month < "01") { return false; } if (day > getMaxDay(year, month) || day < "01") { return
false; } return true; }; function getMaxDay(year, month) { if (month == 4 || month == 6 || month == 9 || month == 11) { return "30"; } if (month == 2) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return "29"; } else { return "28"; } return "31";; } }; /* 用途:字符1是否以字符串2结束 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false */function isLastMatch(str1, str2) { var index = str1.lastIndexOf(str2);
if (str1.length == index + str2.length) { return true; } return false; }; /* 用途:字符1是否以字符串2开始 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false */function isFirstMatch(str1, str2) { var index = str1.indexOf(str2); if (index ==
0) { return true; } return false; }; /* 用途:字符1是包含字符串2 输入:str1:字符串;str2:被包含的字符串 返回:如果通过验证返回true,否则返回false */function isMatch(str1, str2) { var index = str1.indexOf(str2); if (index ==- 1) { return false; } return
true; }; /* 用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,且结束如期>=起始日期 输入:startDate:起始日期,字符串; endDate:结束如期,字符串 返回:如果通过验证返回true,否则返回false */function checkTwoDate( startDate, endDate ) { if ( !isDate(startDate) ) { alert("起始日期不正确!"); return false;
} else if ( !isDate(endDate) ) { alert("终止日期不正确!"); return false; } else if ( startDate > endDate ) { alert("起始日期不能大于终止日期!"); return false; } return true; }; /* 用途:检查复选框被选中的数目 输入:checkboxID:字符串 返回:返回该复选框中被选中的数目
*/function checkSelect( checkboxID ) { var check = 0; var i = 0; if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { if ( document.all(checkboxID).item( i ).checked )
{ check += 1; } } } else { if ( document.all(checkboxID).checked ) { check = 1; } } return check; } function getTotalBytes(varField) { if (varField == null) { return
- 1; } var totalCount = 0; for (i = 0; i < varField.value.length; i++) { if (varField.value.charCodeAt(i) > 127) { totalCount += 2; } else { totalCount++ ; } } return totalCount; }
function getFirstSelectedValue( checkboxID ) { var value = null; var i = 0; if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { if ( document.all(checkboxID).item(
i ).checked ) { value = document.all(checkboxID).item(i).value; break; } } } else { if ( document.all(checkboxID).checked ) { value = document.all(checkboxID).value; }
} return value; } function getFirstSelectedIndex( checkboxID ) { var value = - 2; var i = 0; if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { if ( document.all(checkboxID).item(
i ).checked ) { value = i; break; } } } else { if ( document.all(checkboxID).checked ) { value = - 1; } } return value; } function selectAll( checkboxID, status
) { if ( document.all(checkboxID) == null) { return; } if ( document.all(checkboxID).length > 0 ) { for ( i = 0; i < document.all(checkboxID).length; i++ ) { document.all(checkboxID).item( i ).checked = status;
} } else { document.all(checkboxID).checked = status; } } function selectInverse( checkboxID ) { if ( document.all(checkboxID) == null) { return; } if ( document.all(checkboxID).length > 0 ) { for ( i =
0; i < document.all(checkboxID).length; i++ ) { document.all(checkboxID).item( i ).checked = !document.all(checkboxID).item( i ).checked; } } else { document.all(checkboxID).checked = !document.all(checkboxID).checked;
} } function checkDate( value ) { if (value == '') { return true; } if (value.length != 8 || !isNumber(value)) { return false; } var year = value.substring(0, 4); if (year > "2100" || year < "1900") { return
false; } var month = value.substring(4, 6); if (month > "12" || month < "01") { return false; } var day = value.substring(6, 8); if (day > getMaxDay(year, month) || day < "01") { return false; } return true;
}; /* 用途:检查输入的起止日期是否正确,规则为两个日期的格式正确或都为空且结束日期>=起始日期 输入:startDate:起始日期,字符串; endDate: 结束日期,字符串 返回:如果通过验证返回true,否则返回false */function checkPeriod( startDate, endDate ) { if ( !checkDate(startDate) ) { alert("起始日期不正确!"); return false;
} else if ( !checkDate(endDate) ) { alert("终止日期不正确!"); return false; } else if ( startDate > endDate ) { alert("起始日期不能大于终止日期!"); return false; } return true; }; /* 用途:检查证券代码是否正确 输入:secCode:证券代码 返回:如果通过验证返回true,否则返回false
*/function checkSecCode( secCode ) { if ( secCode.length != 6 ) { alert("证券代码长度应该为6位"); return false; } if (!isNumber( secCode ) ) { alert("证券代码只能包含数字"); return false; } return true; }; /* function:cTrim(sInputString,iType)
description:字符串去空格的函数 parameters:iType:1=去掉字符串左边的空格;2=去掉字符串左边的空格;0=去掉字符串左边和右边的空格 return value:去掉空格的字符串 */function cTrim(sInputString, iType) { var sTmpStr = ' '; var i = - 1; if (iType == 0 || iType == 1) { while (sTmpStr == '
') { ++i; sTmpStr = sInputString.substr(i, 1); } sInputString = sInputString.substring(i); } if (iType == 0 || iType == 2) { sTmpStr = ' '; i = sInputString.length; while (sTmpStr
== ' ') { --i; sTmpStr = sInputString.substr(i, 1); } sInputString = sInputString.substring(0, i + 1); } return sInputString; };
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:
只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&’,;=?$”等字符:“[^%&',;=?$x22]+”
只能输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
正确格式为:“01”“09”和“1”“31”。
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
=function(){return ([^x00-xff]/g,”aa”).length;}
(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
= function()
{
return (/(^s*)|(s*$)/g, “”);
}
(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //IP地址转换成对应数值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if((ip))
{
return RegExp.$1*(255,3))+RegExp.$2*(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error(”Not a valid IP address!”)
}
}
(4)应用:从URL地址中提取文件名的javascript程序
s=” />s=(/(.*/){0,}([^.]+).*/ig,”$2″) ; //
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:onkeyup=”value=”/blog/(/["^u4E00-u9FA5]/g,”) ” onbeforepaste=”(’text’,(’text’).replace(/[^u4E00-u9FA5]/g,”))”
用正则表达式限制只能输入全角字符: onkeyup=”value=”/blog/(/["^uFF00-uFFFF]/g,”) ” onbeforepaste=”(’text’,(’text’).replace(/[^uFF00-uFFFF]/g,”))”
用正则表达式限制只能输入数字:onkeyup=”value=”/blog/(/["^d]/g,”) “onbeforepaste= “(’text’,(’text’).replace(/[^d]/g,”))”
用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/(/[W]/g,””) “onbeforepaste=”(’text’,(’text’).replace(/[^d]/
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
用户名:/^[a-z0-9_-]{3,16}$/
密码:/^[a-z0-9_-]{6,18}$/
十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
URL:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
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 标签:/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Unicode编码中的汉字范围:/^[u4e00-u9fa5],{0,}$/
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国大陆邮政编码:[1-9]\d{5}(?!\d)
评注:中国大陆邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
评注:中国大陆的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
//验证腾讯微博
function verifytencentWeb(tencentWeb,tencentWeb_info){
var reg = /^(http:\/\/t.qq.com\/)(?:([^:@]+)(?::([^@]*))?@)?([^:@]+)(?::(\d+))?(?:(.*?)(?:\?(.*?))?(?:#(.*?))?)$/;
var qq_Flag = reg.test(tencentWeb);
if(verifyIsNull(tencentWeb)){
tencentWeb_info.innerHTML = "";
return true;
}
if(qq_Flag){
tencentWeb_info.innerHTML = "";
return true;
}else{
tencentWeb_info.innerHTML = "对不起,您输入的腾讯微博地址错误。";
return false;
}
}
//验证新浪微博
function verifysinaWeb(sinaWeb,sinaWeb_info){
var reg = /^(http:\/\/weibo.com\/)(?:([^:@]+)(?::([^@]*))?@)?([^:@]+)(?::(\d+))?(?:(.*?)(?:\?(.*?))?(?:#(.*?))?)$/;
var qq_Flag = reg.test(sinaWeb);
if(verifyIsNull(sinaWeb)){
sinaWeb_info.innerHTML = "";
return true;
}
if(qq_Flag){
sinaWeb_info.innerHTML = "";
return true;
}else{
sinaWeb_info.innerHTML = "对不起,您输入的新浪微博地址错误。";
return false;
}
}
相关文章推荐
- 一些基础表单的验证 函数
- 表单验证的一些正则表达式
- js错误--引发表单验证插件中的required属性失效,一些js功能失效
- 一些靠谱的表单正则验证
- 整理的一些常用的js表单验证
- yii2-表单验证的一些规则
- yii 使用cactiveform 创建表单时候遇到的一些验证问题和使用ajax_form时重置验证规则的解决办法
- 一些表单验证常用的正则表达式收集
- JQuery中表单验证相关的一些技巧
- jQuery formValidator表单验证插件一些摘要和例子
- js验证表单(都是一些经常要用到的)
- jQuery formValidator表单验证插件一些摘要和例子
- Jquery 在表单验证里面的一些小麻烦
- 基于角色的表单验证 的一些问题
- javascript脚本之表单验证(一些简单实用的javascript)
- JS应用,表单上的一些东西
- JS常用的一些表单验证函数
- JS+正则表达式对表单的一些简单验证
- 调用一些表单验证函数主要用到blur()
- 一些经常用的JS表单验证