javascript 正则表达式(用户名验证)

标签 javascript regex

我想强制执行那个

  1. 输入的名字只能包含字符 A-Z、a-z 和 -
  2. 输入的登录名只能包含字母数字字符

如何限制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;
    }
}

谢谢!

最佳答案

除了不一致的变量引用之外,您的代码看起来还不错(请参阅 Josh Purvis 的评论)。

以下正则表达式适合您的名字规范:

var nameRegex = /^[a-zA-Z\-]+$/;

为您的用户名检查添加数字非常简单:

var usernameRegex = /^[a-zA-Z0-9]+$/;

注意:正则表达式的写法有很多种。我选择提供一个与您开始时相匹配的版本。我鼓励你完成这个 Regular Expression Tutorial

关于javascript 正则表达式(用户名验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9628879/

相关文章:

javascript - 用文字制作三态切换

javascript - 如何在 WebStorm 中从一个 JavaScript 文件调用内部函数到另一个 JavaScript 文件? (使用 module.exports 除外)

javascript - 无法填充二维数组

c# - 找到匹配的单词

php - PHP、MySQL、JavaScript、Perl 等的正则表达式引擎有多相似?

javascript - sleep() 的 JavaScript 版本是什么?

javascript - 如何在 javascript 中对多个 HTMLElement 事件使用相同的函数?

java - 使用正则表达式查找斐波那契数列

php - 如何删除前导和尾随非字母数字字符

用于特定名称\值格式的 Java 正则表达式