日期:2014-05-19  浏览次数:20448 次

急在线等!JS判断问题!请大伙来帮这看看!顶者有分!
onblur= "javascript:if(document.getElementById( 'WAddT2 ').value.length> 30){alert( '注意:单位※不得大于30个字符※ ');document.getElementById( 'WAddT2 ').focus();return   false;} "

比方说上面的判断是判断WAddT2.TEXT不得大于30个字符

我想求一条判断SQL数据类型中smalldatetime类型的判断
如果在WAddT1中填写的不符合smalldatetime类型弹出对话框!

请大伙指教!!


------解决方案--------------------
用正则
楼主给出输入的格式???
------解决方案--------------------
去找一下判斷日期的正則

比較簡單的就是
\^\d{4}-\d{1,2}-\d{1,2}
但是沒驗證2月,31號等等
------解决方案--------------------
// 判断一个字符串op 是否是符合日期格式 formatString
IsDate : function(op, formatString)
{
formatString = formatString || "ymd ";
var m, year, month, day;
switch(formatString)
{
case "ymd " : // 格式:年月日, [20]05-[0]1-[0]1 或 [20]05/[0]1/[0]1/ 或 [20]05.[0]1.[0]1 ,方括号[]内表示可以省略

m = op.match(new RegExp( "^((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})$ "));
if(m == null ) return false;
day = m[6];
month = m[5]*1;
year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
break;
case "dmy " : // 格式:日月年,其他的与第一个case "ymd " 相同
m = op.match(new RegExp( "^(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))$ "));
if(m == null ) return false;
day = m[1];
month = m[3]*1;
year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));
break;
default :
break;
}
if(!parseInt(month)) return false;
month = month==0 ?12:month;
var date = new Date(year, month-1, day);
return (typeof(date) == "object " && year == date.getFullYear() && month == (date.getMonth()+1) && day == date.getDate());
function GetFullYear(y){return ((y <30 ? "20 " : "19 ") + y)|0;}
},
------解决方案--------------------
把WAddT2.TEXT转成js里的date类型,报错就说明不可。
若转换成功,如有time数据,也说明不可