JS 常用校验函数_javascript技巧
- WBOY原创
- 2016-05-16 18:54:56932浏览
//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验普通电话、传真号码:可以“ ”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[ ]{0,1}(d){1,3}[ ]?([-]?(d){1,12}) $/;
var patrn=/^[ ]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12}) $/;
if (!patrn.exec(s)) return false
return true
}
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^[ ]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12}) $/;
if (!patrn.exec(s)) return false
return true
}
//校验邮政编码
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*() =|\][]{}:;',./?]{1}[^`~!@$%^&() =|\][]{}:;',.?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
/******************************************************** *****************************
* 函数:isBetween
* 参数:val AS 任何值
* lo AS 检查下限
* hi AS 检查上限
* 调用:无
* 返回:如果 val 介于 lo 和 hi 之间,则为 TRUE,否则为 false。
****************
******************************** ***************************************/
function isBetween (val, lo, hi) {
if ((val hi)) { return(false); }
else { return(true); }
}
/******************************************************** *****************************
* 功能:isDate 检查有效日期
* 参数:theStr AS String
* 调用:isBetween、isInt
* 返回:如果 theStr 是有效日期,则为 TRUE,否则为 false。
**************************************************** ***************************************/
function isDate (theStr) {
var the1st = theStr.indexOf('-');
var the2nd = theStr.lastIndexOf('-');
if (the1st == the2nd) { return(false); }
else {
var y = theStr.substring(0,the1st);
var m = theStr.substring(the1st 1,the2nd);
var d = theStr.substring(the2nd 1,theStr.length);
var maxDays = 31;
if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
return(false); }
else if (y.length else if (!isBetween (m, 1, 12)) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0) maxDays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
else maxDays = 29;
}
if (isBetween(d, 1, maxDays) == false) { return(false); }
else { return(true); }
}
}
/******************************************************** *****************************
* 功能:isEuDate 检查英国格式的有效日期
* 参数:theStr AS String
* 调用:isBetween、isInt
* 返回:如果 theStr 是有效日期,则为 TRUE,否则为 false。
**************************************************** ***************************************/
function isEuDate (theStr) {
if (isBetween(theStr.length, 8, 10) == false) { return(false); }
else {
var the1st = theStr.indexOf('/');
var the2nd = theStr.lastIndexOf('/');
if (the1st == the2nd) { return(false); }
else {
var m = theStr.substring(the1st 1,the2nd);
var d = theStr.substring(0,the1st);
var y = theStr.substring(the2nd 1,theStr.length);
var maxDays = 31;
if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
return(false); }
else if (y.length else if (isBetween (m, 1, 12) == false) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0) maxDays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;
else maxDays = 29;
}
if (isBetween(d, 1, maxDays) == false) { return(false); }
else { return(true); }
}
}
}
/******************************************************** **************************
* 功能:比较日期!这是最新的!
* 参数:lessDate,moreDate AS String
* 调用:isDate,isBetween
* 返回:如果 lessDate则为 TRUE**************** ****************************************************** ***************/
function isComdate (lessDate , moreDate)
{
if (!isDate(lessDate)) { return(false);}
if (!isDate) (moreDate)) { return(false);}
var less1st = lessDate.indexOf('-');
var less2nd = lessDate.lastIndexOf('-');
var more1st = moreDate.indexOf('-');
var more2nd = moreDate.lastIndexOf('-');
var lessy = lessDate.substrin(0,less1st);
var lessm = lessDate.substring(less1st 1,less2nd);
var lessd = lessDate.substring(less2nd 1,lessDate.length);
var morey = moreDate.substring(0,more1st);
var morem = moreDate.substring(more1st 1,more2nd);
var mored = moreDate.substring(more2nd 1,moreDate.length);
var Date1 = new Date(lessy,lessm,lessd);
var Date2 = new Date(莫雷,莫雷,莫雷);
if (Date1>Date2) { return(false);}
return(true);
}
/******************************************************** *****************************
* FUNCTION isEmpty 检查参数是否为空或 null
* PARAMETER str AS字符串
**************************************************** ***************************************/
function isEmpty (str) {
if ((str==null)||(str.length==0)) return true;
否则返回(假);
}
/******************************************************** *****************************
* 函数:isInt
* 参数:theStr AS String
* 返回: 如果传递的参数是整数,则为 TRUE,否则为 FALSE
* 调用:isDigit
**************************** ****************************************************** ****/
function isInt (theStr) {
var flag = true;
if (isEmpty(theStr)) { flag=false; }
else
{ for (var i=0; iif (isDigit(theStr.substring(i,i 1)) == false) {
标志=假;休息;
}
}
}
返回(标志);
}
/******************************************************** *****************************
* 函数:isReal
* 参数:heStr AS String
decLen AS整数(句号后有多少位)
* 返回:如果 theStr 是浮点型,则为 TRUE,否则为 FALSE
* 调用:isInt
***************** ****************************************************** ***************/
function isReal (theStr, decLen) {
var dot1st = theStr.indexOf('.');
var dot2nd = theStr.lastIndexOf('.');
var K = true;
if (isEmpty(theStr)) 返回 false;
if (dot1st == -1) {
if (!isInt(theStr)) return(false);
否则返回(true);
}
else if (dot1st != dot2nd) return (false);
else if (dot1st==0) return (false);
else {
var intPart = theStr.substring(0, dot1st);
var decPart = theStr.substring(dot2nd 1);
if (decPart.length > decLen) return(false);
else if (!isInt(intPart) || !isInt(decPart)) return (false);
else if (isEmpty(decPart)) return (false);
否则返回(true);
}
}
/******************************************************** *****************************
* 功能:isEmail
* 参数:字符串(电子邮件地址)
* 返回:如果字符串是有效的电子邮件地址,则为 TRUE
* 如果传递的字符串不是有效的电子邮件地址,则为 FALSE
* 电子邮件格式:AnyName@EmailServer 例如; webmaster@hotmail.com
* @ 符号在电子邮件地址中只能出现一次。
**************************************************** ***********************************/
function isEmail (theStr) {
var atIndex = theStr.indexOf('@');
var dotIndex = theStr.indexOf('.', atIndex);
var 标志 = true;
theSub = theStr.substring(0, dotIndex 1)
if ((atIndex { return(false); }
else { return(true); }
}
/******************************************************** *****************************
* 功能:newWindow
* 参数:doc -> 要在以下位置打开的文档新窗口
hite -> 新窗口的高度
wide -> 新窗口的宽度
bars -> 1-滚动条 = 是 0-滚动条 = 否
调整大小 -> 1-可调整大小 = 是 0-可调整大小 = 否
* 调用:无
* 返回:新窗口实例
************************ ****************************************************** *******/
function newWindow (doc、hite、wide、bars、resize) {
var winNew="_blank";
var pt="工具栏=0,位置=0,目录=0,状态=0,菜单栏=0,";
opt =("scrollbars="bars",");
opt =("可调整大小="调整大小",");
opt =("宽度="宽",");
opt =("height="hite);
winHandle=window.open(doc,winNew,opt);
返回;
}
/******************************************************** *****************************
* 功能:DecimalFormat
* 参数:paramValue -> 字段值
* 调用:无
* 返回:格式化字符串
************************************ ***************************************************/
function DecimalFormat (paramValue) {
var intPart = parseInt(paramValue);
var decPart =parseFloat(paramValue) - intPart;
str = "";
if ((decPart == 0) || (decPart == null)) str = (intPart ".00");
else str = (intPart decPart);
return (str);
}
"^\d $" //非负整数(正整数 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d )|(0 ))$" //非正整数(负整数 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d $" //整数
"^\d (\.\d )?$" //非负浮点数(正浮点数 0)
"^(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\d (\.\d )?)|(0 (\.0 )?))$" //非正浮点数(负浮点数 0)
"^(-(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\d )(\.\d )?$" //浮点数
"^[A-Za-z] $" //由26个英文字母组成的字符串
"^[A-Z] $" //由26个英文字母的大写组成的字符串
"^[a-z] $" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9] $" //由数字和26个英文字母组成的字符串
"^\w $" //由数字、26个英文字母或者下划线组成的字符串
"^[\w-] (\.[\w-] )*@[\w-] (\.[\w-] ) $" //email地址
"^[a-zA-z] ://(\w (-\w )*)(\.(\w (-\w )*))*(\?\S*)?$" //url
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn