我尝试在javascript中验证带有正则表达式的字符串,用户输入的<form>
以http://
开头并且在该字符串中包含~
somwhere。
我所拥有的是
(/^(http?:\/\/)\~/.test(string))
但它不太合适。
任何提示?
答案 0 :(得分:3)
不需要或RegEx,您可以使用String#startsWith
和String#includes
。
if (str.startsWith('http://') && str.includes('~')) {
由于所有浏览器都不支持这些方法,因此您可以将旧版浏览器使用MDN的polyfill。
答案 1 :(得分:1)
正则表达式解决方案如下:
(/^https?:\/\/.*\~/.test(string))
你的正则表达式几乎是正确的,你只是错过了在.*
部分之后检查字符的http://
我还将s?
放在了https
有效
答案 2 :(得分:1)
我认为你的正则表达式应该修复到这个:
(/^(http?:\/\/).*\~/.test(string))