1

谁能告诉我如何用 Java 或 Javascript 编写一个正则表达式,如果“href”、“”、“www”将返回 false。还是在文本区域输入“http”?我不希望人们或机器人能够将这些术语输入到文本区域?

我试过(?![http|<[^>]*>|href|www\.])[A-Za-z]但它不起作用。

4

2 回答 2

0

你可以尝试的是:

/(http|www.|href)/g

global 选项导致正则表达式在第一次匹配时不停止。

尝试练习:

http://scriptular.com/#%28href|www.|http%29||||g||||[%22\%22href\%22%2C%20\%22\%22%20\% 22www.\%22%20或%20\%22http%22]

( http://scriptular.com/ )

另外,请注意,当您使用时:

[http|<[^>]*>|href|www\.]

请记住,括号表示匹配,或者,我相信 [http|www|href] 会与 [efhptrw|] 做同样的事情。(除非管道也可以在括号中使用 - 任何人都可以澄清一下吗?)

编辑:

关于什么:

/(http[s]?:\/\/|www\.\S|href)/i

在这种测试字符串上试试:

"hrf", "hre" 
"ww."
 or "htp
"hrf", "href" 
"www."
"www. "
 or "http://
or "https://
http

请注意,在完全正确输入匹配之前,它不会返回任何内容。我认为您不需要对此进行负面展望。

于 2013-10-30T15:21:19.577 回答
0
var reg = new RegExp(/(http|www.|href)/, 'g')
console.log( yourInput.value.test(reg) ); //prints true if there is http or www. or href
于 2013-10-30T15:22:36.483 回答