我正在尝试通过确保它的4个字符长并且每个字符都是一个数字来确保有效的生日。

function validateBirth() {
    var year = document.forms["myForm"]["birth_year"].value;
    if (year.match(/\A\d{4}\z/) !== null) {
      alert("Date of birth must be 4 digits");
      return false;
   }
}

我正在尝试使用JavaScript的string#match函数来搜索值中的正则表达式。 在这里,我们知道它必须包含4位数字,但也不能包含任何非数字。

例如,像a4b456这样的字符串将无效。 这就是为什么我分别使用正则表达式标记\\A\\z来开始和结束字符串的原因。

当我在jsconsole中测试此功能时,它看起来像这样

var year = "1958"
year.match(/\A\d{4}\z/)
=> null

我在rubular中测试了完全相同的正则表达式,并得知存在匹配项。 我要疯了,还是我想念这里?

我知道我可以使用HTML Input Validation来做到这一点,但这在非现代浏览器上不起作用,因此我需要使用JavaScript方法。

===============>>#1 票数:3 已采纳

JavaScript正则表达式的字符串开头和结尾分别是^$ \\A\\z对于Ruby中的开始和结束有效,但对JavaScript无效。)因此,此正则表达式将起作用:

year.match(/^\d{4}$/);

如果您对布尔结果感兴趣,而不是收到实际的匹配结果,则可以这样做:

/^\d{4}$/.test(year)

===============>>#2 票数:1

没有正则表达式:

var year = +(document.forms.myForm.birth_year.value);
var yearchk = !isNaN(year) && year/1000 || 0.5;
if (yearchk >= 1 && yearchk < 10) { /** it's ok **/ }+

  ask by Richard Hamilton translate from so

未解决问题?本站智能推荐:

2回复

验证10位数javascript的字段

我有一个下面的代码用于一个字段,必须填写准确的10个数字 $('#input-payment-egn').on('input', function() { var input=$(this); var is_egn=input.val(); $("div.wrong-egn").
2回复

验证表单,将表单输入分配给字符串并在JavaScript中显示

因此,我一直在破解此代码,无法弄清楚发生了什么。 基本上,我必须验证此表单,并将每个输入分配为字符串,然后再显示。 现在,我什至无法掌握验证,因为它根本无法工作,当我单击“ adicionar”按钮时,页面就会刷新。 如果表单为空,则应显示警报,对于年龄输入,如果不是数字或<=
1回复

Javascript Regex表单验证返回错误

我一直在尝试使用这些代码行来验证表单电子邮件输入。 function validate() { var emailFirst = document.getElementById('email1'); var emailFirstRGex = /^(([^<>()[\\
4回复

验证表单而不提交

我有以下代码检查两个选择字段是否相同。 使用onsubmit调用时,代码可以正常工作。 但是,执行此验证后,仍将提交表单。 如何防止脚本或表单提交不正确的数据。 请参见下面的代码:
1回复

javascript正则表达式替换输入表单验证

输入格式为的字符串时: 开头r或R ,然后是一些非数字字母,我想用R替换字符串。 正是在这种情况下: 但它不起作用。 有人可以帮帮我吗? 谢谢。
4回复

Javascript表单验证邮件地址,正则表达式不起作用!

您好我有一个javascript表单验证和正则表达式的问题。 以下是我使用的代码。 我正在尝试验证地址是否包含字母表中的数字和字母。 此代码用于实验,不需要进行任何超安全验证。 问题是下面的代码似乎不起作用。 无论我做什么,警报框告诉我必须输入有效的地址。 怎么了。 是不是正则
1回复

通过纯JS进行表单验证

我在以下问题上陷入困境: 第一次单击提交按钮后,如何只添加一次所需的错误? 以后不要再单击。 如何仅在执行具有必需检查的第一个函数(checkRequired())后,才能通过RegExp验证来启动函数(checkValid())? RegExp验证后如何在其相对元素
1回复

如果输入的位数过多,如何使AngularJS中经过ng-pattern验证的经过验证的蒙版美国电话号码无效

我试图找出一种方法来验证输入,该输入被掩蔽以将基于美国的电话号码显示为(###) ###-####我已经尝试了一些方法,但是发现的最接近的方法是使用 我从-Angularjs动态ng-pattern验证中提取了正则表达式-这成功验证了输入并匹配了用例,甚至抛出正确的错误并显示正确的消息。
1回复

使用javascript和regex进行密码验证不起作用

我试图用javascript中的正则表达式功能来验证密码。 我将按钮默认设置为禁用,并且当密码有效时,我想启用该按钮。 验证无效。 在这里您可以看到javascript代码: 这是HTML表格 错误信息:
2回复

使用JavaScript中的onblur事件验证电子邮件

如何使用JavaScript验证电子邮件。 我有click事件,用于检查该值是否为空-请参阅下文,但如何在检查正则表达式的单独函数中检查onblur事件 文本框: