首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将输入限制为特定模式

问将输入限制为特定模式
EN

Stack Overflow用户
提问于 2013-07-29 09:45:21
回答 3查看 173关注 0票数 2

我正在javaScript中创建一个应用程序,但我对RegExp有点困惑。我需要将用户类型转换为textArea所需的字符串形式,并让应用程序使用它,因此我需要限制textArea输入。

我需要这样填写:760,8,20,50/3,10,160/40,3001

带有逗号后的可选空格和可选项数,其中一些项可以选择使用sufix (*/1.)

此外,我也希望有类似的模式,表现得很简单,但也可以有这样的前缀:

st.760号8,st.20,st.50/3,st.10,st.160/40,第一章。3001

也有可选的空格。如果有人能帮我制作这个regExp,我会很高兴的,因为我是一个真正的乞丐在创造这个……

我已经尝试了以下正则表达式((\d+)|((\d+)/(\d+))),(\s?)。

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-29 11:05:56

我会用这样的方法:

代码语言:javascript
复制
^\d+(/\d+)?(\s*,\s*\d+(/\d+)?)*$

然后,对于第二个:

代码语言:javascript
复制
^(st\.\s*)?\d+(/\d+)?(\s*,\s*(st\.\s*)?\d+(/\d+)?)*$

记住,任何时候都可以使用转义序列,这将使正则表达式更加清晰。因此,不要执行0-9,而是使用\d,并使用\s来接受所有类型的空格(空格、制表符;等等)。

票数 1
EN

Stack Overflow用户

发布于 2013-07-29 09:51:30

我认为

代码语言:javascript
复制
^([ ]*[0-9]+(/[0-9]+)?[ ]*\,)*([ ]*[0-9]+(/[0-9]+)?[ ]*)$

和

代码语言:javascript
复制
^([ ]*(st\. )?[0-9]+(/[0-9]+)?[ ]*\,)*([ ]*(st\. )?[0-9]+(/[0-9]+)?[ ]*)$

听起来是对的

票数 1
EN

Stack Overflow用户

发布于 2013-07-29 10:01:21

我希望它能帮到你:

要选择字段,请执行以下操作:

代码语言:javascript
复制
    ([0-9]+/[0-9]+[,]{0,1})|([0-9]+[,]{0,1}) 

以取代它们:

代码语言:javascript
复制
    st\.\ &1&2 

通过使用sed命令行:

代码语言:javascript
复制
    sed -e "s/([0-9]+/[0-9]+[,]{0,1})|([0-9]+[,]{0,1})/st\.\ &1&2/g"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17920756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档