1
我哪里错了?即使有一个错误会有所帮助。内部网站搜索jquery反对RegExp
我有一个HTML输入和一个提交按钮。我们的想法是:
- 提交搜索字符串
- 获取字符串值。
- 将字符串值与正则表达式进行比较。
- 如果合法,请在DOM中查找该字符串的实例。
然后滚动到匹配的字符串的第一个实例,因为它坐落在DOM。
$("#submit").on("click", function() { //regex to be compared against var search = new RegExp(); search = /(^\w[A-z]+)$|(^\d[0-9\.x\.X\.m\.M]+)/; //grab the string value from the search input var userin = $("#searchin").val(); var compare = userin.test(search); if (compare === true) { var treebody = $('html, body').contents().filter(function (userin) { if ($('html, body').contents() === userin) { $('html, body').animate({'scrollTop' : $(treebody).position().top}, 700) } else { alert("Please search again or scroll down to find your desired content"); } }); } else { alert("Sorry, we couldn't match your search. Please try a region or place or a billboard size e.g. 9x13 "); } });
1.'[A-Z] +'2.使用'm'修饰符。 –
你的正则表达式看起来很奇怪。它是“一个字母或一个数字或一个下划线,后跟一个或多个字母”或“一个数字,后面跟一个数字或点或x或点或X或点......一次或多次”。例如,所有重复的点都什么都不做。这应该不会破坏代码。 –