我有一个文本框,它允许用户只输入数值和 'y' 和 'm' 值。function ValidateAge(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if ((charCode == 89) || (charCode == 77) || (charCode == 109) || (charCode == 121)) { return true; } if ((charCode > 31 && (charCode < 48 || charCode > 57))) { return false; } return true;}如何验证文本框以检查“y”和“m”之前是否应该始终有一个数字。更新:总会有 y 或 m。y 和 m 应始终以数字开头Y 和 M 都可以出现在文本框中y 和 m 可以输入为小写或大写
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
您可以使用以下正则表达式:
function ValidateAge(text){
var reg = new RegExp(/^((\d+)y*m*)+$/ig); // 'ig': Case insensitive match
return reg.test(text);
}
ValidateAge('123m'); // true
ValidateAge('1y'); // true
ValidateAge('a123m'); // false
ValidateAge('123ms'); // false
ValidateAge('1ymmmmm1y1m1y22yyyy3'); // true
ValidateAge('1my'); // false
添加回答
举报
0/150
提交
取消
