JS判断字符串格式是否合法/**
* 浏览器脚本函数列表
* boolean isNumber(numStr) :判断字符串是否是数值格式
* boolean isValidString(szStr) :判断字符串中是否含有⾮法字符"'\"><"
* boolean isBlank(szStr) :判断字符串是否为空字符串(或不包含除空格外的其他字符)
* String trim(szStr) :去掉字符串两端的空格
* boolean isDateStr(ds) :判断字符串是否为合法的⽇期格式:YYYY-MM-DD HH:MM:SS * 或 YYYY-MM-DD 或 HH:MM:SS
* boolean isDatePart(dateStr) :判断字符串是否为合法的⽇期格式:YYYY-MM-DD
* boolean isTimePart(dateStr) :判断字符串是否为合法的时间格式:HH:MM:SS
* boolean chk_email(emailAddress) :判断邮件地址格式是否合法
*/
/***********************************************************************
* 判断⼀个字符串是否是数值格式
*/
function isNumber(numStr){
return !isNaN(numStr);
}
/***********************************************************************
* 判断⼀个字符串中是否含有下列⾮法字符
*/
voidChar = "'\"><";
function isValidString(szStr){
for(i = 0 ; i < voidChar.length; i ++){
aChar = voidChar.substring(i, i + 1);
if(szStr.indexOf(aChar) > -1){
return false;
}
}
indexof空格算不算return true;
}
/***********************************************************************
* 判断⼀个字符串是否为空字符串
*/
function isBlank(szStr){
if(szStr.length < 1){
return true;
}
for(i = 0; i < szStr.length; i ++){
if(szStr.substring(i, i + 1) != ' '){
return false;
}
}
return true;
}
/
***********************************************************************
* 去掉⼀个字符串两端的空格
*/
function trim(szStr){
//去掉字符串头部的空格
while(szStr.length > 0){
if( szStr.substring(0, 1) != ' '){
break;
}else{
szStr = szStr.substring(1);
}
}
//去掉字符串尾部的空格
while(szStr.length > 0){
if( szStr.substring(szStr.length - 1, szStr.length) != ' '){
break;
}else{
szStr = szStr.substring(0,szStr.length - 1);
}
}
return szStr;
}
/
***********************************************************************
* 判断⼀个字符串是否为合法的⽇期格式:YYYY-MM-DD HH:MM:SS * 或 YYYY-MM-DD 或 HH:MM:SS
*/
function isDateStr(ds){
parts = ds.split(' ');
switch(parts.length){
case 2:
if(isDatePart( parts[0] ) == true && isTimePart( parts[1] )){
return true;
}else{
return false;
}
case 1:
aPart = parts[0];
if(aPart.indexOf(':') > 0 ){
return isTimePart(aPart);
}else{
return isDatePart(aPart);
}
default:
return false;
}
}
/***********************************************************************
* 判断⼀个字符串是否为合法的⽇期格式:YYYY-MM-DD
*/
function isDatePart(dateStr){
var parts;
if(dateStr.indexOf("-") > -1){
parts = dateStr.split('-');
}else if(dateStr.indexOf("/") > -1){
parts = dateStr.split('/');
}else{
return false;
}
if(parts.length < 3){
//⽇期部分不允许缺少年、⽉、⽇中的任何⼀项
return false;
}
for(i = 0 ;i < 3; i ++){
//如果构成⽇期的某个部分不是数字,则返回false
if(isNaN(parts[i])){
return false;
}
}
y = parts[0];//年
m = parts[1];//⽉
d = parts[2];//⽇
if(y > 3000){
return false;
}
if(m < 1 || m > 12){
return false;
switch(d){
case 29:
if(m == 2){
//如果是2⽉份
if( (y / 100) * 100 == y && (y / 400) * 400 != y){
//如果年份能被100整除但不能被400整除 (即闰年)
}else{
return false;
}
}
break;
case 30:
if(m == 2){
/
/2⽉没有30⽇
return false;
}
break;
case 31:
if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){
//2、4、6、9、11⽉没有31⽇
return false;
}
break;
default:
}
return true;
}
/*********************************************************************** * 判断⼀个字符串是否为合法的时间格式:HH:MM:SS
*/
function isTimePart(timeStr){
var parts;
parts = timeStr.split(':');
if(parts.length < 2){
//⽇期部分不允许缺少⼩时、分钟中的任何⼀项
return false;
}
for(i = 0 ;i < parts.length; i ++){
//如果构成时间的某个部分不是数字,则返回false
if(isNaN(parts[i])){
return false;
}
}
h = parts[0];//年
m = parts[1];//⽉
if( h < 0 || h > 23){
//限制⼩时的范围
return false;
}
if( m < 0 || h > 59){
//限制分钟的范围
return false;
}
if(parts.length > 2){
s = parts[2];//⽇
if( s < 0 || s > 59){
//限制秒的范围
return false;
}
return true;
}
function chk_email(email){
invalid = "";
if (!email){}
//invalid = "请输⼊您的Email地址。";
else {
if ( (email.indexOf("@") == -1) || (email.indexOf(".") == -1) )
invalid += "\n\nEmail地址不合法。应当包含和'.';例如('')。请检查后再递交。";
if (email.indexOf("your email here") > -1)
invalid += "\n\nEmail地址不合法,请检测您的Email地址,在域名内应当包含和'.';例如('')。"; if (email.indexOf("\\") > -1)
invalid += "\n\nEmail地址不合法,含有⾮法字符(\\)。";
if (email.indexOf("/") > -1)
invalid += "\n\nEmail地址不合法,含有⾮法字符(/)。";
if (email.indexOf("'") > -1)
invalid += "\n\nEmail地址不合法,含有⾮法字符(')。";
if (email.indexOf("!") > -1)
invalid += "\n\nEmail地址不合法,含有⾮法字符(!)。";
if ( (email.indexOf(",") > -1) || (email.indexOf(";") > -1) )
invalid += "\n\n只输⼊⼀个Email地址,不要含有分号和逗号。";
if (email.indexOf("?subject") > -1)
invalid += "\n\n不要加⼊'?subject=...'。";
}
if (invalid == ""){
return true;
}else{
alert("输⼊的Email可能包含错误:" + invalid);
return false;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论