私はいくつかの正規表現の検証を行いました。これが私が行ったことです。
Javascript:
function fn1() {
var var1=/^(\s*|\d+)$/
if (document.myform.inp1.value.search(var1)==-1) {
alert("validation for digits failed")
}
}
function fn2() {
var var2=/^(?:\d+(?:,\d+)*(?:\.\d{2})?|\d+(?:\.\d{3})*(?:,\d{2})?)$/
if (document.myform.inp2.value.search(var2)==-1) {
alert("validation for currency failed")
}
}
function fn3() {
var var3=/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/
if (document.myform.inp3.value.search(var3)==-1) {
alert("validation for date failed")
}
}
</script>
以下は私のHTMLです。
<form name="myform">
<div id="div1">
<input type="text" name="inp1" />
<input type="button" onClick="fn1()" value="chk1"/>
</div>
<div id="div2">
<input type="text" name="inp2" />
<input type="button" onClick="fn2()" value="chk2" />
</div>
<div id="div3">
<input type="text" name="inp3" />
<input type="button" onClick="fn3()" value="chk3" />
</div>
</form>
次に、これらすべてを1つの関数に結合する必要があります。この関数は、正規表現をパラメーターとして受け入れる必要があります。したがって、3つの引数()を受け入れるJavaScript関数が1つあるはず<<selector for input field>>, <<regular Expression>>, <<Error message>>
です。これを達成する方法を助けてください。