晚上好。
在以下主题上,我希望您的帮助。 我有以下几行代码:
<script>
function save3() {
var pn = 4;
var flag = true;
do {
var selection = window.prompt("Give the User Id:", "Type a number!");
if (selection == (/^[0-9.,]+$/)) {
flag = false;
window.alert("ok");
}
} while (flag != false);
$("#user_id").val(selection)
//$("#user_id").val(prompt("Give the User Id:"))
do {
var selection2 = parseInt(window.prompt("Give the Book Id:", "Type a number!"), 10);
} while (isNaN(selection2));
$("#book_id").val(selection2)
//$("#book_id").val(prompt("Give the Book Id:"))
do {
var selection3 = parseInt(window.prompt("Give the Game Id:", "Type a number!"), 10);
} while (isNaN(selection3));
$("#game_id").val(selection3)
//$("#game_id").val(prompt("Give the Game Id:"))
$("#site_id").val(pn)
}
function load2() {
}
</script>
我的问题可能对您来说很简单,但我不知道解决方案。 我希望用户在window.prompt框中插入一个值。如果值是数字。我想向用户显示一条消息“正确”。如果值是字母或其他字母,我想显示一条消息“重试”,则循环应再次执行。
您能为我提供一些帮助吗?我认为我已经完成了我想要的一部分...
答案 0 :(得分:1)
if (selection == (/^[0-9.,]+$/)){
这不是您使用正则表达式的方式。您需要使用match()或test()
if (selection && selection.match(/^[0-9.,]+$/))
if (selection && /^[0-9.,]+$/.test(selection))
答案 1 :(得分:0)
谢谢您的帮助。
这是我的工作解决方案:
<script>
function save3() {
var pn = 4;
var flag1 = true;
do{
var selection = window.prompt("Give the User Id:", "Type a number!");
if ( /^[0-9]+$/.test(selection)) {
flag1=false;
window.alert("ok");
}
}while(flag1!=false);
$("#user_id").val(selection)
//$("#user_id").val(prompt("Give the User Id:"))
var flag2 = true;
do{
var selection2 = parseInt(window.prompt("Give the Book Id:", "Type a number!"));
if ( /^[0-9]+$/.test(selection2)) {
flag2=false;
window.alert("ok");
}
}while(flag2!=false);
$("#book_id").val(selection2)
//$("#book_id").val(prompt("Give the Book Id:"))
var flag3= true;
do{
var selection3 = parseInt(window.prompt("Give the Game Id:", "Type a number!"));
if ( /^[0-9]+$/.test(selection3)) {
flag3=false;
window.alert("ok");
}
}while(flag3!=false);
$("#game_id").val(selection3)
//$("#game_id").val(prompt("Give the Game Id:"))
$("#site_id").val(pn)
}
function load2() {
}
</script>