【发布时间】:2022-01-29 01:09:28
【问题描述】:
我想强制执行
- 输入的名字只能包含字符 A-Z、a-z 和 -
- 输入的登录名只能包含字母数字字符
如何在javascript中限制这两条规则?
下面是我的用户名正则表达式代码 (jsp)。但它不能正常工作。
function validateForm(){
var nameRegex = /^[a-zA-Z\-]+$/;
var validfirstUsername = document.frm.firstName.value.match(nameRegex);
if(validUsername == null){
alert("Your first name is not valid. Only characters A-Z, a-z and '-' are acceptable.");
document.frm.firstName.focus();
return false;
}
}
谢谢!
【问题讨论】:
-
用户名和登录有什么区别?此外,您所拥有的有什么问题(除了不一致的命名)?
-
@JasonMcCreary 一个是名字,另一个是登录名。使用上面的代码,如果我使用 horatio2m 作为名字输入,用户仍然可以被保存,这不是我想要的。我想验证名字输入应该只包含 a-z、A-Z 和 -
-
将
if(validUsername == null){替换为if(validfirstUsername == null){。 -
@JoshPurvis 是的,你是对的。一个愚蠢的错误。谢谢。
-
这里真正的问题是用户可以简单地关闭javascript并提交他们想要的任何用户名。请在后端也验证这一点。
标签: javascript regex