我尝试在javascript中编写一个正则表达式,除了只出现以下.,!-
这就是我的尝试,但它似乎不起作用。
/^[ 0-9a-zA-Zs][,.!]{1,}+$/
任何帮助都将不胜感激。
以下是一些进一步说明的例子。如果用户键入以下内容:
答案 0 :(得分:1)
试试这个:
/^[0-9a-zA-Z]*[,.!]?[0-9a-zA-Z]*$/
唯一的问题是它本身会匹配。你需要决定是否允许a,a和
所有这些都符合您的原始标准,但可能不是您的意思。
以下是zobgib建议的扩展的第一个和最后一个部分的相同内容。
/^([0-9a-zA-Z]+[,.!]?[0-9a-zA-Z]*)|([0-9a-zA-Z]*[,.!]?[0-9a-zA-Z]+)$/
答案 1 :(得分:1)
/^[\w ]+([.,!-?][\w ]*)?$/
的示例和测试
#+ Valid values
allow.periods
allow!bangs
allow-dashes
allow,commas
alphaonly
3numeric
This is a test!
This is a - test
This is a test.
This is a, test
This is a test?
7,500
#- Invalid values
no^
---
!
!!
two..periods
This is test!!
This is a,,test
This is a test??
$7,500
答案 2 :(得分:0)
/^[^.,!-]+[.,!-]?[^.,!-]+?$/
将任何非.,!-
后跟.,!-
之后的任何内容,然后可能是.,!-
的任何内容
/^[a-zA-Z0-9]+[.,!-]?[a-zA-Z0-9]+?$/
这将匹配任何字母字符与以下
的一次出现答案 3 :(得分:0)
/^[0-9a-zA-Z]+[,.!]?[0-9a-zA-Z]+$/
必须在可能的非字母字符之前和之后包含一个字符。
应匹配a,a但不是a,或a ....
或者你可以改变+为*以允许0或更多次出现。
/^[0-9a-zA-Z]+[,.!]?[0-9a-zA-Z]*$/
这会匹配你好!但不是!helooo
您还可以在此处获取备忘单http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
使用这个备忘单你甚至可以逃脱
/^[:alnum:]+[,.!]?[:alnum:]*$/
但这可能是针对特定语言的。
答案 4 :(得分:0)
/^([,.!-]|[0-9a-zA-Z]+[,.!-])[0-9a-zA-Z]*$/
这将符合您的一个例外或 任意数量的alphanums后跟一个例外, 并且匹配后跟零个或多个alphanums。