Javascript 是否使用正则表达式验证内联样式的文本输入字段?

Javascript 是否使用正则表达式验证内联样式的文本输入字段?,javascript,php,css,regex,Javascript,Php,Css,Regex,我有一个简单的文本字段,需要使用正则表达式进行验证。 文本字段应该包含“正确”格式的内联样式xxx:xxx 例如:字体大小:15px;背景:#33333-webkit过渡:背景色500ms缓变1s 任何一位regex大师都可以帮我。我最终会自己找到解决方案,但这可能需要一段时间 对于客户端验证,语言将是javascript,然后转向php进行服务器端验证 谢谢大家。。。我想出了这个--/([a-z-]+:[0-9a-z#()。-]+$)/g--。我会自己回答,但我不确定这是否是最好的解决方案 我

我有一个简单的文本字段,需要使用正则表达式进行验证。
文本字段应该包含“正确”格式的内联样式xxx:xxx

例如:字体大小:15px;背景:#33333-webkit过渡:背景色500ms缓变1s

任何一位regex大师都可以帮我。我最终会自己找到解决方案,但这可能需要一段时间

对于客户端验证,语言将是javascript,然后转向php进行服务器端验证

谢谢大家。。。我想出了这个--/([a-z-]+:[0-9a-z#()。-]+$)/g--。我会自己回答,但我不确定这是否是最好的解决方案

我将接受@nu11p01n73R给出的以下最详细的答案,因为我从他的解释中偷走了$sign,这使得上述工作正确


我的想法有问题吗?我知道,从技术上讲,我不应该问,但无论如何,我认为对我来说,读起来更容易。我喜欢这样。

您可以使用以下形式的正则表达式

^([^:]+:[^;]+;)+$
例如,见

  • ^
    将正则表达式锚定在字符串的开头。确保没有任何内容预先指定匹配的字符串

  • [^::::+:
    匹配除
    后跟

  • [^;]+匹配除
    以外的任何内容后接

  • +
    量词,重复出现
    属性:value

  • $
    将正则表达式锚定在字符串的末尾。确保匹配字符串后面没有任何内容


试试这个更好的解决方案:

^([a-zA-Z\-\s]+:[a-zA-Z0-9\-\s#%\(\)\+']*;)+$
它处理异常情况:

ex1=font-size: 15px; background: #33:333; //not match
ex2=font-size: 15px; background: #33333;  //match
对于html:

<input type="text"  pattern="^([a-zA-Z\-\s]+:[a-zA-Z0-9\-\s#%\(\)\+']*;)+$" style="width: 1000px;"/>


到目前为止,您尝试了什么?该示例是单个输入还是不同的输入。请给出一个不应验证的示例[a-z-]+:与第一部分匹配。。。它是一个单一的输入,它应该只匹配上面的格式,以允许用户添加多个内联样式。我只关心确保样式的格式。。。如果它们是一种真正的风格就不会了。。。我会很快再试一次,回到你的答案,但是我在上面的问题中发布的答案也同样有效,但我认为它更容易阅读。谢谢你,伙计。我知道它是如何试图回答这里的问题。我仍然会保留以前接受的答案,因为它定义了“活动部件”正在做什么,我不想继续检查以不断更新接受。干杯并再次感谢。以前的ans有时不起作用,这是在例外情况下说的:在我的ans中。