javascript/Jquery-检查字符前是否存在数字 [英] javascript/Jquery - check if number exists before a character

查看:47
本文介绍了javascript/Jquery-检查字符前是否存在数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文本框,允许用户仅输入数字值以及"y"和"m"值.

I have a textbox which allows user to enter only numeric values and 'y' and 'm' values.

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"之前始终应该有一个数字.

How do I validate the textbox to check that there should always be a number before 'y' and 'm'.

更新:

  1. 总会有y或m.
  2. y和m应该始终以数字开头
  3. Y和M都可以在文本框中出现
  4. y和m可以小写或大写输入

推荐答案

您可以使用以下正则表达式:

You can use the following regular expression:

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

这篇关于javascript/Jquery-检查字符前是否存在数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆