我需要一个正则表达式,它只允许A-Z、a-z、0-9、_字符和点(.)在输入中。
我试过了:
[A-Za-z0-9_.] 但是,它并没有起作用。我怎么才能修复它?
发布于 2009-11-12 19:41:16
根据您给出的信息,我假设您希望检查除了您列出的字母之外,是否有人没有输入任何其他字母。为此,您需要搜索列出的字符以外的任何字符:
[^A-Za-z0-9_.]并在你的代码中使用它,就像这样:
if ( /[^A-Za-z0-9_.]/.match( your_input_string ) ) {
alert( "you have entered invalid data" );
}怎么说呢?
发布于 2019-05-15 00:06:57
您可以简单地使用^[\w.]+匹配A-Z、a-z、0-9和_
发布于 2009-11-12 19:41:20
也许,您需要更准确地说明什么不起作用,以及您所处的环境。
至于声称点在字符类中是特殊的,这并不是在每个编程环境中都是正确的。例如,下面的perl脚本
use warnings;
use strict;
my $str = '!!!.###';
$str =~ s/[A-Za-z_.]/X/g;
print "$str\n";产生
!!!X###https://stackoverflow.com/questions/1721602
复制相似问题