2011-11-03 100 views
0

我有问题才能使其工作。正则表达式Javascript(必须有1个数字和字符)

以下javascript正则表达式至少需要一个字符串中的数字。

/^[a-zA-Z0-9 ]*[0-9]+[a-zA-Z0-9 ]*$/; 

但是,我也想允许一个逗号(“‘)和一个句点(’。”)

我尝试了各种选项,但它不工作。请帮忙吗?

+2

在正则表达式中,你希望允许','和'.'?你尝试了什么? –

+0

@denis认真接受答案,鼓励人们帮助你和他人。 – FailedDev

回答

0

只是这些字符添加到相应的字符类:

/^[a-zA-Z0-9,. ]*[0-9]+[a-zA-Z0-9,. ]*$/ 

下面是使用一个超前写它一个更简洁的方式:

/^(?=.*?[0-9])[a-zA-Z0-9,. ]+$/ 
3

这会工作:

/^[a-zA-Z0-9., ]*[0-9]+[a-zA-Z0-9., ]*$/ 
+0

它的工作原理!!! ..谢谢:)) – denis

+1

点是*不*是角色类中的特殊字符。 –

+0

@MarkByers你说得对,我也一直在那里逃脱。很高兴知道。 – Lycha

1

如何缩短解决方案:

/[\w\s,.]*\d+[\w\s,.]*/ 

在这种情况下,没有必要使用^和$。

+0

这是不一样的。它还将接受(例如)下划线和制表符,原始表达式不接受。 –

+0

哦,这是真的。 –

相关问题