允许字母、数字、小数、空格和下划线的正则表达式模式
Posted
技术标签:
【中文标题】允许字母、数字、小数、空格和下划线的正则表达式模式【英文标题】:Regex pattern allowing alphabets, numbers, decimals, spaces and underscore 【发布时间】:2012-12-12 01:16:06 【问题描述】:我不擅长正则表达式模式。 我必须对字符串进行验证,以允许
only alphabets, numbers, decimals, spaces, comma and underscore
允许我使用/^[a-zA-Z][a-zA-Z\\s]+$/
的字母和空格
请帮助我在一个模式中创建上述所有条件。
谢谢
【问题讨论】:
不知道你为什么要添加一个jQuery标签......数字和小数之间有什么区别。 “小数”是小数点吗?我加了,以防万一。 【参考方案1】:这个正则表达式应该可以满足你的要求
'[a-zA-Z0-9_. ,]*'
在正则表达式中,我指定了范围 a 到 z、A 到 Z(大写)、0 到 9 和单个字符 _、小数点“.”、空格和逗号。
如果您想确保在第一个字母后至少需要一个字符,您可以将 * 替换为 +,或将 2, 替换为至少 2 个字符,或将 2,5 替换为 2和 5 个字符。
【讨论】:
+1 解释,感谢您的及时回复,让我检查一下\s
不仅仅是“空间”。它匹配任何空白字符:制表符、空格、换行符、回车符,我认为还有 2 个其他字符。
当他要求“空格”时,我覆盖了所有空格,但如果要求只是一个“空格”,我已经更改了正则表达式【参考方案2】:
你可以试试:
/^[\w., ]+$/
不知道对起始字符有什么要求,如果有的话。
【讨论】:
【参考方案3】:Rahul 的回答给了我思考的方向,但对于游客来说,也许这也能有所帮助
patternForClasName = /^([a-zA-Z0-9 _]+\.)*[a-zA-Z0-9 _]+$/;
// Allowing valid className which has a format abcsasa.dsd.dsd(the class or a package name can have an underscore or a numerical)
patternForName = /^([a-zA-Z0-9 _-]+)$/;
// Allowing alphanumeric + spaces + (_)underscore and a (-)dash
patternForDescription = /^([a-zA-Z0-9 _-]+[\,\.]+)*[a-zA-Z0-9 _-]*$/;
// Allowing alphanumeric,spaces, (_)underscore, (-)dash, comma, decimal
patternURLFormat = /(ftp|http|https):\/\/(\w+:0,1\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
// For a valid URL
【讨论】:
以上是关于允许字母、数字、小数、空格和下划线的正则表达式模式的主要内容,如果未能解决你的问题,请参考以下文章
Winforms 文本框允许用户只输入字母、数字、点和单词之间的空格。正则表达式
用于文本框验证的 HTML5 正则表达式模式:仅允许字母、空格和某些字符