Javascript 正则表达式验证

Javascript 正则表达式验证,javascript,regex,Javascript,Regex,我在用这个 ^\d+(?:fs|sf)[-+]\d+[hmd]$/ 用于验证以下文本的正则表达式 样本: 20fs-4d 10平方英尺+20米 3fs-2h 它工作正常 但即使我输入第一个数字,比如(20或10或3作为样本) 它应该是有效的 这意味着 我应该能够输入上述第一个数字,而无需键入其他。 如果我键入其他(多于数字),则应验证整个文本 请任何人帮我解决这个问题如果您希望以加号或减号开头的部分是可选的,请使用?正则表达式: ^\d+(?:fs|sf)(?:[-+]\d+[hmd])?$

我在用这个

^\d+(?:fs|sf)[-+]\d+[hmd]$/
用于验证以下文本的正则表达式

样本:

  • 20fs-4d
  • 10平方英尺+20米
  • 3fs-2h
  • 它工作正常

    但即使我输入第一个数字,比如(20或10或3作为样本) 它应该是有效的 这意味着 我应该能够输入上述第一个数字,而无需键入其他。 如果我键入其他(多于数字),则应验证整个文本


    请任何人帮我解决这个问题

    如果您希望以加号或减号开头的部分是可选的,请使用
    正则表达式:

    ^\d+(?:fs|sf)(?:[-+]\d+[hmd])?$
    

    我不确定是否理解您的要求,但这就是您想要的:

    ^\d+(?:(?:fs|sf)[-+]\d+[hmd])?$/
    
    这与您给出的数字或示例相匹配