JavaScript 中可以使用正则表达式 /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/ 来判断字符串是否是日期格式. 可以使用 match()找到一个或多个正则表达式的匹配.
JavaScript 判断字符串是否是日期格式:
- function isDate(dateString){
- if(dateString.trim()=="")return true;
- var r=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
- if(r==null){
- alert("请输入格式正确的日期 \ n\r 日期格式: yyyy-mm-dd\n\r 例 如: 2008-08-08\n\r");
- return false;
- }
- var d=new Date(r[1],r[3]-1,r[4]);
- var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
- if(num==0){
- alert("请输入格式正确的日期 \ n\r 日期格式: yyyy-mm-dd\n\r 例 如: 2008-08-08\n\r");
- }
- return (num!=0);
- }
match()方法:
match()方法可在字符串内检索指定的值, 或找到一个或多个正则表达式的匹配.
语法
- stringObject.match(searchvalue)
- stringObject.match(regexp)
参数:
searchvalue: 规定要检索的字符串值.
regexp: 规定要匹配的模式的 RegExp 对象. 如果该参数不是 RegExp 对象, 则需要首先把它传递给 RegExp 构造函数, 将其转换为 RegExp 对象.
match() 方法将检索字符串 stringObject, 以找到一个或多个与 regexp 匹配的文本. 这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g.
正则表达式:
正则表达式 (regular expression) 描述了一种字符串匹配的模式(pattern), 可以用来检查一个串是否含有某种子串, 将匹配的子串替换或者从某个串中取出符合某个条件的子串等.
来源: http://www.css88.com/qa/javascript/11494.html