我想使用单个输入框按索引(0、1 等)或按完整哈希进行搜索。下面的正则表达式工作正常,但如果我有一个有效的哈希并按索引搜索,反之亦然,结果不是我想要的。有没有更好的方法来解决这个问题而无需两个输入?理想情况下,如果一个模式匹配,我希望按钮 2 被禁用,如果另一个模式匹配,按钮 1 被禁用,并将我的正则表达式分成两种不同的模式。这可能吗?我的方法是否明智?
<div class="form-group">
<input type="text"
class="form-control"
placeholder="Search by..."
name="query" ng-model="query"
ng-pattern="/^[0-9a-fA-F]{64}$|^\d+$/"
required>
</div>
<button type="submit"
class="btn btn-default"
ng-click="searchBar.$valid && searchByHash()">
Hash</button>
<button type="submit"
class="btn btn-default"
ng-click="searchBar.$valid && searchByHeight()">
Height</button>