经过一些教程之后我觉得我有这个,但是没有---
我只想匹配一串字母,数字,空格,连字符,句号和下划线,并且必须以jquery函数中的字母开头
这是我在教程之后提出的,但它只接受字母:
/^[a-z][a-z0-9_ .-]*?/i
请帮忙!
++ ++ EDITED
这是我尝试使用此代码的代码:
$('input[name=albumName]').keyfilter(/^[a-z][a-z0-9_ .-]*?/i);
用户输入的名称也将在URL中使用,因此我想限制他们的输入。我希望这是允许的(Texas AandM - 2012),但不允许这样做(2012年 - 得克萨斯A& M)
答案 0 :(得分:1)
你的正则表达式对我来说没问题。也许周围的代码而不是正则表达式存在问题?这是一个Python示例:
s_re = re.compile('^[a-z][a-z0-9_.-]*',re.I) # case insensitive match
In [12]: if s_re.match('A'): print 'match'
match
In [14]: if s_re.match('A.-'): print 'match'
match
In [15]: if s_re.match('1.-'): print 'match'
In [16]: if s_re.match('1_.-'): print 'match'
In [17]: if s_re.match('A_.-'): print 'match'
match
如果您想确保首字母后面至少有一个字符,则可以将*
替换为+
,或将{2,}
替换为至少2个字符,或{2,5}
,包含2到5个字符。
答案 1 :(得分:1)