gpt4 book ai didi

Javascript - 如何使用 RegExp 识别模式

转载 作者:行者123 更新时间:2023-11-27 23:10:12 24 4
gpt4 key购买 nike

当用户输入错误时,提交按钮应该弹出一条警告消息,指出邮政编码和邮政编码的模式错误。但我似乎无法让它发挥作用。我不想在表单中使用“pattern=”。我想显示一个警报框。我需要使用 RegExp 方法。有什么想法吗?

这是我的代码:

                <script>
function validation(){
var icn = document.getElementById("icno").value;
var postcode = document.getElementById("pstcode").value;
var regexp = new RegExp(icn,"\d{6}-\d{2}-\d{4}");
var regexp1 = new RegExp(postcode,"[0-9]{5}");

if (regexp.exec(icn)){
return true;
}
else{
alert("Please enter your IC correctly")
}

if (regexp1.exec(postcode)){
return true;
}
else{
alert("Please enter your postcode correctly")
}
}
</script>
</body>
</html>

最佳答案

如果您想使用 RegExp.exec,请尝试以下操作:

function validation() {
var icn = document.getElementById("icno").value;
var postcode = document.getElementById("pstcode").value;
var regexp = new RegExp(/\d{6}-\d{2}-\d{4}/);
var regexp1 = new RegExp(/[0-9]{5}/);

if (regexp.exec(icn) !== null) {
return true;
} else {
alert("Please enter your IC correctly")
}

if (regexp1.exec(postcode) !== null) {
return true;
} else {
alert("Please enter your postcode correctly")
}
}
<form id="myForm" onsubmit="validation()">
<fieldset>
<legend>Regular Expression</legend>

<label for="name">Name</label>
<input type="text" id="name" size="30" placeholder="Enter name.">
</br>
</br>

<label for="icno">IC No</label>
<input type="text" id="icno" size="15" placeholder="E.g. 889601-11-6575">
</br>
</br>

<label for="address">Address 1</label>
<input type="text" id="address" size="30" placeholder="Address 1">
</br>
</br>

<label for="address">Address 2</label>
<input type="text" id="address" size="30" placeholder="Address 2">
</br>
</br>

<label for="postcode">Postcode</label>
<input type="text" id="pstcode" size="8" placeholder="E.g 21030">
</br>
</br>

<input type="submit" value="Submit" id="btnSubmit">
</fieldset>
</form>

但我建议你使用.test,很简单:

function validation() {
var icn = document.getElementById("icno").value;
var postcode = document.getElementById("pstcode").value;

if (/\d{6}-\d{2}-\d{4}/.test(icn)) {
return true;
} else {
alert("Please enter your IC correctly")
}

if (/[0-9]{5}/.test(postcode)) {
return true;
} else {
alert("Please enter your postcode correctly")
}
}

关于Javascript - 如何使用 RegExp 识别模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36252566/

24 4 0