Javascript regexp验证不起作用

Javascript regexp validation not working

本文关键字:不起作用 验证 regexp Javascript      更新时间:2023-09-26

我正在努力让我的regexp正常工作,但运气不太好。

我想检查输入字符串是否是6个数字和1个字符(123123A),没有空格,没有破折号。我的正则表达式不匹配,即使我认为我输入了一个有效的字符串。

有人能告诉我我的问题在哪里吗?

var userString = "123123A";
if( /^d{6}[a-zA-Z]{1}$/.test(userString) ){
  alert("Correct format");              
}
else{
  alert("Incorrect format");                    
}

首先,正则表达式语法不正确,您希望使用标记'd来匹配数字,而不是匹配文字字符d六次。您也可以将{1}从您的角色类中删除,无需在此处使用。

if (/^'d{6}[a-zA-Z]$/.test(userString)) { ...

您没有检查输入元素的值:

var userString = document.getElementById("username");

应该是

var userString = document.getElementById("username").value;

此外,正如hwnd所指出的,您在模式中缺少反斜杠:

/^'d{6}[a-zA-Z]$/