|
|
|
สอบถามการใช้งาน javascript ตวรจสอบเบอร์โทรศัพท์ที่ค่าซ้ำหน่อยค่ะ |
|
|
|
|
|
|
|
แนวทางครับ
Code (PHP)
<script>
function checkTel(hd,txt){
if(hd == txt){
alert('หมายเลขโทรศัพท์ซ้ำกัน');
}
}
</script>
<input type="hidden" id="hdphone" name="hdPhone" value="088888888">
<input type="tel" id="phone" name="phone" value="" onblue="checkTel(document.getElementById('hdphone').value,document.getElementById('phone').value );">
|
ประวัติการแก้ไข 2013-01-28 12:58:43
|
|
|
|
Date :
2013-01-28 12:54:40 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณน่ะค่ะ เด้วจะลองเอาไปใช้ดูค่ะ
|
|
|
|
|
Date :
2013-01-28 12:56:29 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังทำไม่ได้เลยค่ะ เง้ออออ
|
|
|
|
|
Date :
2013-01-29 09:18:45 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดู Code หน่อยครับ
|
|
|
|
|
Date :
2013-01-29 09:32:13 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนวทางคือ ใช้ Object ในการเก็บค่าที่ได้ใช้ไปแล้ว โดยใช้ key เป็นตัวเปรียบเทียบ
Code (PHP)
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var usedNumbers = {};
function checkNumber(textInput) {
if (!/^\d+$/.test(textInput.value)) { // ตรวจสอบว่าค่าใน textbox เป็นตัวเลขหรือไม่
textInput.value = ''; // ถ้าไม่ใช่ตัวเลขก็เคลียร์ค่าทิ้ง
return;
}
if (usedNumbers[textInput.value]) { // ตรวจสอบว่ามี key นี้ในตัวแปร usedNumbers แล้วหรือยัง
alert('มีหมายเลขนี้แล้ว');
textInput.value = ''; // ถ้ามีแล้วก็แจ้งเตือนและเคลียร์ค่าทิ้ง
return;
}
usedNumbers[textInput.value] = true; // บันทึกว่าได้ใช้ตัวเลขนี้ไปแล้ว
}
</script>
<form action="" method="get">
<!-- ใน onclick สังเกตว่าจะมีการเรียกใช้ checkNumber(this) ซึ่ง this ที่ส่งไปให้กับ checkNumber ก็จะเป็นตัว <input> ที่มีการเปลี่ยนแปลง -->
<input type="text" size="8" onchange="checkNumber(this);" /><br />
<input type="text" size="8" onchange="checkNumber(this);" /><br />
<input type="text" size="8" onchange="checkNumber(this);" /><br />
<input type="text" size="8" onchange="checkNumber(this);" /><br />
<input type="text" size="8" onchange="checkNumber(this);" />
</form>
</body>
</html>
|
|
|
|
|
Date :
2013-01-29 09:41:29 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
var arr = document.all['number_phone'].value.split(',')
//alert(arr.length+" : "+arr[0]);
n=0;
l = arr.length;
//alert(n < l);
while (n < l){
//alert(arr.length+" : "+arr[n]);
if (IsNumber(arr[n]) != true) {
alert("กรุณาตรวจสอบหมายเลขโทรศัพท์!");
return false;
}
|
|
|
|
|
Date :
2013-01-29 09:41:38 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอ form ด้วยครับ จะได้ตรงตามความต้องการ
|
|
|
|
|
Date :
2013-01-29 10:06:44 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ืคือต้องใส่หมายเลขในช่องเดียวกัน และใช้เครื่องหมาย , คั่น แบบนี้ค่ะ
เมื่อทำการตรวจสอบก้จะ alert มาว่า
" หมายเลข 0812345678 ซ้ำค่ะ "
ช่วยดูให้เค้าหน่อยน้า
|
|
|
|
|
Date :
2013-01-29 10:07:21 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<form name='formsend1' method='post' action='separate_48.php'>
<textarea name='number_phone' cols='30' rows='5' wrap='VIRTUAL' onblur="setcount();" onfocus="setcount();" onchange="setcount();" onkeypress="setcount();" class='boxi'></textarea>
</form>
นี้ค่ะ
|
|
|
|
|
Date :
2013-01-29 10:09:44 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ได้แน่นอนครับ ไม่จำกัด array
Code (PHP)
<script>
function checkSame(tel){
var arr=tel.split(',');
var len=arr.length;
var permiss=0;
for(i=0;i<len;i++){
for(s=0;s<len;s++){
if(arr[i] == arr[s]){
permiss=permiss+1;
}
}
}
if(permiss != len){
alert('ข้อมูลเหมือนกัน');
}
}
</script>
<textarea id="tel" onblur="checkSame(document.getElementById('tel').value);"></textarea>
|
|
|
|
|
Date :
2013-01-29 10:23:13 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากน่ะค่ะ
|
|
|
|
|
Date :
2013-01-29 10:28:41 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกนิดนึงน่ะค่ะ คือต้องการให้มัน alert เบอร์ที่ซ้ำด้วยอ่ะค่ะ
ลองใช้โค้ดนี้ดู แต่มันดัน alert ทุกตัวที่เราพิมพ์ลงไปเลย
Code (PHP)
<script>
function checkSame(tel){
var arr=tel.split(',');
var len=arr.length;
var permiss=0;
for(i=0;i<len;i++){
for(s=0;s<len;s++){
if(arr[i] == arr[s]){
permiss=permiss+1;
}
}
}
if(permiss != len){
alert('มีหมายเลขโทรศัพท์ '+tel+' ซ้ำกันค่ะ');
}
}
</script>
<textarea id="tel" onblur="checkSame(document.getElementById('tel').value);"></textarea>
|
|
|
|
|
Date :
2013-01-29 14:22:07 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมขออธิบายการทำงานด้วยนะครับ เผื่อจะมีประโยชน์ต่อผู้ที่ต้องการศึกษา JavaScript
ไม่ทราบว่าจขกท.จะอยากได้หรือเปล่า แต่ผมได้เพิ่มการทำงานโดยเอาอักษรที่ไม่ใช่ตัวเลขและตัวเลขที่ซ้ำ ออกไปจาก textarea พร้อมเตือนว่ามีหมายเลขใดซ้ำกันบ้าง
Code (PHP)
<html>
<head>
<title>ตัวอย่างการตรวจสอบหมายเลขโทรศัพท์ที่ซ้ำกัน</title>
</head>
<body>
<script type="text/javascript">
function checkNumbers(textInput) {
var
// ทำการแยกค่าใน textarea ออกเป็นส่วนๆ ด้วย comma และช่องว่างรอบๆ comma
// โดยเก็บไว้ในตัวแปรชื่อ values
values = textInput.value.split(/\s*,\s*/),
// เก็บจำนวนสมาชิกที่มีอยู่ใน values ไว้ในตัวแปรชื่อ n เพื่อความเร็วในการทำงาน
n = values.length,
// สร้าง Array ไว้เก็บค่าที่มีการซ้ำกัน
removals = [],
// สร้าง Array ไว้เก็บค่าที่ผ่านการตรวจสอบแล้ว
approvals = [];
// วนลูปเพื่ออ่านค่าทั้งหมดใน Array
for (var i = 0; i < n; i++) {
var item = values[i]; // กำหนดค่าในตำแหน่งปัจจุบันให้กับตัวแปรชื่อ item
// ตรวจสอบว่าค่าปัจจุบันเป็นตัวเลข 0-9 หรือไม่โดยใช้ RegExp
// หากไม่ใช่ตัวเลขค่านี้ก็จะถูกตัดทิ้งไป (เพราะไม่ได้ถูกเพิ่มเข้าไปใน approvals)
if (/^\d+$/.test(item)) {
// หากเป็นตัวเลขก็จะเข้ามาตรงนี้
// และทำการตรวจสอบต่อว่ามี ตัวเลขที่ซ้ำกันหรือไม่
// โดยใช้ฟังก์ชั่น Array.lastIndexOf ที่จะตรวจว่า ค่าที่ส่งไปให้นั้น
// อยู่ในตำแหน่งใดของ Array โดยเริ่มค้นหาจากท้าย Array
// ซึ่งถ้าตำแหน่งที่ตรวจได้ไม่ตรงกับค่าตัวแปร i ซึ่งเป็นตำแหน่งปัจจุบันของค่าที่ใช้ค้นหา
// นั่นหมายความว่ามีค่าที่ซ้ำกันอยู่ใน Array
if (values.lastIndexOf(item) !== i) {
// ตรวจสอบดูด้วยว่ามีค่านี้อยู่แล้วหรือยัง เพราะบางทีอาจจะมีค่าที่ซ้ำกันมากกว่า 1 ตัว
if (removals.indexOf(item) === -1) {
// บันทึกค่านี้ไว้เพื่อใช้แสดงผลค่าที่ซ้ำกัน
removals.push(item);
}
} else {
// ค่านี้ผ่านการตรวจสอบแล้ว
approvals.push(item);
}
}
}
// ถ้ามีค่าที่ซ้ำกัน
if (removals.length) {
// ก็แสดงผล
alert("หมายเลข " + removals.join(",") + " ซ้ำกันค่ะ");
}
// กำหนดค่าใหม่ให้กับ textarea ซึ่งเป็นค่าที่ผ่านการตรวจสอบแล้ว (เป็นตัวเลขและไม่ซ้ำกัน)
textInput.value = approvals.join(",");
}
</script>
<form action="" method="get">
<textarea cols="50" rows="5" onchange="checkNumbers(this)"></textarea>
</form>
</body>
</html>
|
|
|
|
|
Date :
2013-01-30 05:35:30 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่แล้วค่ะ เพิ่งจะเริ่ม ศึกษาในส่วนของ javascript ได้อาทิตย์นึงล่ะค่ะ
ได้ความรู้เยอะเลยค่ะทำงานแบบนี้ ขอบคุณมากน่ะค่ะ
|
|
|
|
|
Date :
2013-01-30 08:42:09 |
By :
annaann18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|