我想强制执行
如何在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;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
Jas*_*ary 19
除了不一致的变量引用之外,你所拥有的代码看起来很好(参见Josh Purvis的评论).
以下正则表达式适用于您的名字规范:
var nameRegex = /^[a-zA-Z\-]+$/;
Run Code Online (Sandbox Code Playgroud)
为用户名检查添加数字非常简单:
var usernameRegex = /^[a-zA-Z0-9]+$/;
Run Code Online (Sandbox Code Playgroud)
注意:编写正则表达式的方法有很多种.我选择提供与您开始时匹配的版本.我鼓励您完成这个正则表达式教程
Ben*_*ing 10
这是我想出的验证函数,请根据您自己的用例进行定制:
function isUserNameValid(username) {
/*
Usernames can only have:
- Lowercase Letters (a-z)
- Numbers (0-9)
- Dots (.)
- Underscores (_)
*/
const res = /^[a-z0-9_\.]+$/.exec(username);
const valid = !!res;
return valid;
}
Run Code Online (Sandbox Code Playgroud)
小智 8
用户名只能使用字母、数字、下划线和句点。
const onValidUsername = (val) => {
const usernameRegex = /^[a-z0-9_.]+$/
return usernameRegex.test(val)
}
Run Code Online (Sandbox Code Playgroud)