我不知道我是否只是在考虑这个问题
但是我正在考虑制作一种模式,该模式应在开头添加诸如“ EDGE”之类的特定文本,然后在特定文本之后可以放置诸如“ EDGE111-1111”之类的任何内容
或者我应该制作一个Java脚本来对前4个字进行子字符串化吗,例如下面的代码段
function edgevalidate(e){
var val = e.value;
var valSubstring = val.substring(0,5)
if(valSubstring.toUpperCase()!='EDGE'){
alert('First 4 letters should be EDGE');
}
}
<input type="text" value='EDGE' onkeyup='edgevalidate(this)' required/>
但这似乎不起作用,因为仅在开头没有“ EDGE”的情况下才应显示警报消息
答案 0 :(得分:2)
如果要测试的只是字符串是否以EDGE
开头,则不需要正则表达式。您可以只对字符串调用startsWith
方法。检查一下,
var arr = ["EDGE111-1111", "123EDGE111-1111", "EDGE"];
for (s of arr) {
console.log(s + " --> " + s.startsWith("EDGE"));
}
同样的正则表达式解决方案就是这样,但是这里实际上并不需要正则表达式,
var arr = ["EDGE111-1111", "123EDGE111-1111", "EDGE"];
for (s of arr) {
console.log(s + " --> " + /^EDGE/.test(s));
}