Bou*_*ory 7 javascript momentjs
我有以下几点。由于某些原因,moment.js无法按预期验证我的日期。当我传递字母时,它会像预期的那样失败,但是当仅使用数字时,它将始终传递。
我正在使用MMDDYYYY格式。如何使用矩来验证MMDDYYYY?谢谢
var dates = "08291975"; //passes as it should
var passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should pass ' + passed); //actual output is 'should pass true'
dates = "082919751"; //one digit too many should fail but doesnt
passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should not pass ' + passed); //actual output is 'should not pass true'
dates = "0829ssss"; //fails as expected
passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should not pass ' + passed); //actual output is 'should not pass false'
dates = "0829197"; //one digit short should fail but doesnt
passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should not pass ' + passed); //actual output is 'should not pass true'Run Code Online (Sandbox Code Playgroud)
<script src="https://rawgit.com/moment/moment/2.2.1/min/moment.min.js"></script>Run Code Online (Sandbox Code Playgroud)
您可以使用最新版本 (2.24.0) 而不是旧版本 2.2.1 获得预期输出。
这是一个实时示例:
var dates = "08291975";
var passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should pass ' + passed);
dates = "082919751"; //one extra digit
passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should not pass ' + passed);
dates = "0829ssss";
passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should not pass ' + passed);
dates = "0829197"; //one digit missing
passed = moment(dates, 'MMDDYYYY', true).isValid();
console.log('should not pass ' + passed);Run Code Online (Sandbox Code Playgroud)
<script src="https://rawgit.com/moment/moment/2.24.0/min/moment.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |