【问题标题】:Regex javascript allow only numbers, alphabets and underscore正则表达式 javascript 只允许数字、字母和下划线
【发布时间】:2013-08-26 01:31:32
【问题描述】:

我正在使用此代码来防止人们在字母和数字之间放置空格。我想修改代码,以便只能输入字母、字母和数字。

这就是我正在做的:

 replace(/\sg, '') oin javascript

任何人都可以帮助我了解如何构建正则表达式,以便在输入框中只能键入字母、nnumbers、下划线并且没有空格

谢谢

【问题讨论】:

  • 您是否尝试过学习如何编写正则表达式?
  • 请看更新here

标签: javascript regex


【解决方案1】:

以下是使用 jQuery 的方法:

$(function() {
    $( '#username' ).on( 'keydown', function( e ) {
        if( !$( this ).data( "value" ) )
             $( this ).data( "value", this.value );
    });
    $( '#username' ).on( 'keyup', function( e ) {
        if (!/^[_0-9a-z]*$/i.test(this.value))
            this.value = $( this ).data( "value" );
        else
            $( this ).data( "value", null );
    });
});

SQL Fiddle演示

【讨论】:

  • 这很好,但是如果你按住空格键或字符键,你可以越过它,它不会阻止输入字符...出于好奇有没有办法防止那个?
【解决方案2】:

也许你想要这样的东西:

var input = "f%o@o";
var output = input.replace(/\W/g, ''); // "foo"

这将从input 字符串中删除任何字字符(字字符是字母、数字或下划线)。

【讨论】:

  • 我实际上只是希望在输入中包含字母、数字和 unsercore。所以我猜相反
  • @KwaasiDjin 这就是它的作用。它将删除 -单词字符。
  • 是的,但这包括@#$%^&*之类的符号,但是,我只想要下划线字母和数字
  • @KwaasiDjin 请看例子。 "f%o@o".replace(/\W/g, '') 变为 "foo"
猜你喜欢
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
  • 2011-03-05
  • 2011-12-29
  • 1970-01-01
  • 2010-09-25
相关资源
最近更新 更多