常用的正则验证实例
作者:jit 日期:2008-09-24
/////////////////////////////////////////////////////////////////////
/////////////////////////// 字符串处理函数 /////////////////////////
/////////////////////////////////////////////////////////////////////
var uenresule = regfm.u_nme_en.value.match(/^(\s)*(\w)+((\s)+(\w)+)+(\s)*$/);
if (uenresule == null)
{
alert('对不起,英文名称之间需要有至少一个空格!');
regfm.u_nme_en.focus();
return false;
}
////////////// 常用属性开始 ///////////////
//使用方法:"string12121212 ".trim(),其他函数类似
//var s = "121212334 ";s.trim();
var uenresule = regfm.u_nme_en.value.match(/^(\s)*(\w)+((\s)+(\w)+)+(\s)*$/);
if (uenresule == null)
{
alert('对不起,英文名称之间需要有至少一个空格!');
regfm.u_nme_en.focus();
return false;
}
function Trim(o)
{
// 去两头空格
return o.replace(/(^\s*)|(\s*$)/g, "");
}
function LTrim(o)
{
// 去左边空格
return o.replace(/(^\s*)/g, "");
}
function RTrim(o)
{
// 去右边空格
return o.replace(/(\s*$)/g, "");
}
function Chineselen(o)
{
// 取长度,中文算2个
return o.replace(/[^\x00-\xff]/g, "**").length
}
function FixedFloat(o, n)
{
// 取小数点前几位
// 用法:"1212.22222".FixedFloat(2),返回1212.22
f = parseFloat(o);
return f.toFixed(n);
}
////////////// 常用属性结束 ///////////////
////////////// 以下为验证代码 /////////////////
// 使用方法
// var s = "2008-09-11";s.isDate()
//
function IsDate(o)
{
// 判断输入是否是有效的短日期格式 - "YYYY-MM-DD"
var result = o.match(/^(\d{1,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]);
}
function IsTime(o)
{
// 判断输入是否是有效的时间格式 - "HH:MM:SS"
var resule = o.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (result==null) return false;
if (result[1]>24 || result[3]>60 || result[4]>60) return false;
return true;
}
function IsEmail(o)
{
// 判断输入是否是有效的电子邮件
var result = o.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
if(result==null) return false;
return true;
}
function IsDatetime(o)
{
// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS"
var result = o.match(/^(\d{1,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]);
}
function IsInteger(o)
{
// 判断输入是否是一个整数
var result = o.match(/^(-|\+)?\d+$/);
if(result == null) return false;
return true;
}
function IsPositiveInteger(o)
{
// 判断输入是否是一个正整数
var result = o.match(/^\d+$/);
if(result==null) return false;
if(parseInt(this)>0) return true;
return false;
}
function IsNegativeInteger(o)
{
// 判断输入是否是一个负整数
var result=o.match(/^-\d+$/);
if(result==null) return false;
return true;
}
function IsNumber(o)
{
// 判断输入是否是一个数字
return !isNaN(o);
}
function IsLetters(o)
{
// 判断输入是否是一个由 A-Z / a-z 组成的字符串
var result = o.match(/^[a-zA-Z]+$/);
if(result==null) return false;
return true;
}
function IsDigits(o)
{
// 判断输入是否是一个由 0-9 组成的数字
var result = o.match(/^[1-9][0-9]+$/);
if(result==null) return false;
return true;
}
function IsAlphanumeric(o)
{
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
var result=o.match(/^[a-zA-Z0-9]+$/);
if(result==null) return false;
return true;
}
function IsString(o)
{
// 判断输入是否是一个由 0-9 / A-Z / a-z / . / _ 组成的字符串
var result=o.match(/^[a-zA-Z0-9\s.\-_]+$/);
if(result==null) return false;
return true;
}
function IsPostalcode(o)
{
// 判断输入是否是一个有效的邮政编码
var result=o.match(/(^[0-9]{6}$)/);
if(result==null) return false;
return true;
}
function IsPhoneNo(o)
{
// 判断输入是否是一个有效的电话号码
var result=o.match(/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/);
if(result==null) return false;
return true;
}
function IsMobileNo(o)
{
// 判断输入是否是一个有效的手机号码
var result=o.match(/(^0{0,1}13[0-9]{9}$)/);
if(result==null) return false;
return true;
}
function TransformNum2CN(text, bCurrency)
{
// 转换数字为中文大写
var whole = text;
//分离整数与小数
var num;
var dig;
if(whole.indexOf(".") == -1){
num = whole;
dig = "";
}
else{
num = whole.substr(0,whole.indexOf("."));
dig = whole.substr( whole.indexOf(".")+1, whole.length);
}
//转换整数部分
var i=1;
var len = num.length;
var dw2 = new Array("","万","亿"); //大单位
var dw1 = new Array("拾","佰","千"); //小单位
var dw3 = new Array("角", "分");//
var dw = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //整数部分用
var dws = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //小数部分用
var k1=0; //计小单位
var k2=0; //计大单位
var str="";
for(i=1;i<=len;i++){
var n = num.charAt(len-i);
if(n=="0"){
if(k1!=0)
str = str.substr( 1, str.length-1);
}
str = dw[Number(n)].concat(str); //加数字
if(len-i-1>=0){ //在数字范围内
if(k1!=3){ //加小单位
str = dw1[k1].concat(str);
k1++;
}
else{ //不加小单位,加大单位
k1=0;
var temp = str.charAt(0);
if(temp=="万" || temp=="亿") //若大单位前没有数字则舍去大单位
str = str.substr( 1, str.length-1);
str = dw2[k2].concat(str);
}
}
if(k1==3) //小单位到千则大单位进一
k2++;
}
var re = /(.)(\1)+/g; // 消除多于零
str = str.replace(re,"$1");
re = /零$/ig; // 消除最后一位零
str = str.replace(re,"");
var tmpstr, nstr; // 临时用的,当前字符和对应的下一个字符
var strNew = ""; // 临时结果字符
for(i = 0; i < str.length-1 ; i++){
tmpstr = str.substr(i, 1);
if (tmpstr != "零"){
strNew += tmpstr;
continue;
}
nstr = str.substr(i+1, 1);// 下一个字符,主要是判断大小单位前不能有零
if ((dw2.join().indexOf(nstr))!=-1){
continue;
};
if ((dw1.join().indexOf(nstr))!=-1){
continue;
};
strNew += tmpstr;
}
strNew += str.substr(str.length -1, 1);
str = strNew;
re = /亿万/;
str = str.replace(re,"亿零");
var re = /(.)(\1)+/g; // 再消除重复
str = str.replace(re,"$1");
if (dig == ""){
if (bCurrency)
str += " 元整";
return str;
}
//转换小数部分
var strdig="";
for(i=0;i<2;i++){
var n = dig.charAt(i);
var n = dig.charAt(i);
strdig += dws[Number(n)]; //加数字
if (bCurrency)
strdig += dw3[Number(i)]; // 加角分等
}
if (bCurrency)
str += "元"+strdig;
else
str += "点"+strdig;
return str;
}
function IsValidURL(url)
{
// 检测url是否正常
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",url,false);
xmlhttp.send();
if (xmlhttp.readyState==4)
return (xmlhttp.Status==200)?true:false;
}
评论: 0 | 引用: 0 | 查看次数: -
发表评论


上一篇:
下一篇:
文章来自:
Tags:
相关日志: