【问题标题】: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标签......数字和小数之间有什么区别。
  • “小数”是小数点吗?我加了,以防万一。

标签: c# java php javascript regex


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2010-09-25
      • 1970-01-01
      • 2015-04-28
      相关资源
      最近更新 更多