script type="text/javascript"
创新互联是一家网站设计制作、做网站,提供网页设计,网站设计,网站制作,建网站,按需网站策划,网站开发公司,自2013年创立以来是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。
function test(){
var t1=document.getElementById("t1").value;
var patrn1=/^0.[0-9]{2}$/;
var re = new RegExp(patrn1);
if(re.test(t1)){
alert("匹配成功!");
}else{
alert("匹配失败!");
}
}
/script
input type="text" id="t1" /br
input type="button" value="验证打折信息" onclick="javascript:test();"/
没有具体描述不知你具体应用场景如何
基本逻辑,
1 页面加载时服务器输出当前时间和json格式输出打折时间段信息
2 页面脚本取服务器输出的当前时间为起点开始计时,并去打折时间段信息做判断,到达打折时间段则页面通过脚本做相应的交互和展示调整
3 当发生交易请求是,脚本根据是否打折发送相应价格和信息到服务器
4 服务器接收交易请求后,按照打折规则校验确认交易信息
逻辑:所有核心数据和打折、交易逻辑收敛到服务器一个地方管理,服务器叫js做什么就做什么,即,js只做数据展示和交互体验
按照你的要求编写的用正则表达式判断输入0.10到1.00折扣正确与否的Javascript程序如下
(注意要保证输入的小数保留两位小数)
script type=text/javascript
var str='0.12';
var regex=/^(0\.[1-9][0-9]|1\.00)$/;
var result=regex.test(str);
if(result==true)
alert("输入折扣正确.");
else
alert("输入折扣错误.");
/script
运行结果
输入折扣正确.
完整代码:
!DOCTYPE html
html lang="zh"
head
meta charset="utf-8" /
meta http-equiv="X-UA-Compatible" content="IE=edge" /
script
src=""
type="text/javascript"
/script
style
button {
width: 60px
}
/style
/head
body
h6
总价:¥span class="total"/spannbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
折后总价:¥span class="total-after"/span
/h6
table border="1" cellpadding="10"
tr
th序号/th
th分类名称/th
th商品编码/th
th商品名称/th
th库存/th
th单位/th
th价格/th
th
活动价格
select onchange="changePrice(this.value)"
option value="0.1"一折/option
option value="0.2"二折/option
option value="0.3"三折/option
option value="0.4"四折/option
option value="0.5"五折/option
option value="0.6"六折/option
option value="0.7"七折/option
option value="0.8"八折/option
option value="0.9"九折/option
option value="1" selected无折扣/option
/select
/th
th
操作
/th
/tr
/table
script type="text/javascript"
var initDatas = [
{
order: 304,
category: "护肤",
productCode: "SC20200001",
productName: "3525",
store: 111,
unit: 1,
price: 2,
price2: 2,
},
{
order: 136,
category: "防晒",
productCode: "SC8888",
productName: "防晒霜",
store: 100,
unit: 1,
price: 10,
price2: 10,
},
];
$(function () {
loadTableData(initDatas);
});
function loadTableData(dataList) {
var total = 0;
var totalAfter = 0;
$('.data-row').remove();
dataList.map(function (data, index) {
var row = $(
"tr class='data-row'" +
" td align='center'" + data.order + "/td" +
" td align='center'" + data.category + "/td" +
" td align='center'" + data.productCode + "/td" +
" td align='center'" + data.productName + "/td" +
" td align='center'" + data.store + "/td" +
" td align='center'" + data.unit + "/td" +
" td align='center'" + data.price + "/td" +
" td align='center'" + data.price2 + "/td" +
" td align='center'button onclick='deleteRow(" + index + ")'删除/button/td" +
"/tr"
);
$("table").append(row);
total += data.price * data.store;
totalAfter += data.price2 * data.store;
});
var row = $(
"tr class='add-row data-row'" +
" td align='center'input type='text' style='width:50%'//td" +
" td align='center'input type='text' style='width:50%'//td" +
" td align='center'input type='text' style='width:50%'//td" +
" td align='center'input type='text' style='width:50%'//td" +
" td align='center'input type='number' style='width:50%'//td" +
" td align='center'input type='number' style='width:50%'//td" +
" td align='center'input type='number' style='width:50%'//td" +
" td align='center'i class='error' style='color:red'/i/td" +
" td align='center'button onclick='addRow()'新增/button/td" +
"/tr"
);
$("table").append(row);
$('.total').text(total.toFixed(2));
$('.total-after').text(totalAfter.toFixed(2));
}
/**
* 删除行
*/
function deleteRow(index) {
initDatas.splice(index, 1);
loadTableData(initDatas);
}
/**
* 新增行
*/
function addRow() {
var order = $(".add-row input").eq(0).val();
var category = $(".add-row input").eq(1).val();
var productCode = $(".add-row input").eq(2).val();
var productName = $(".add-row input").eq(3).val();
var store = $(".add-row input").eq(4).val();
var unit = $(".add-row input").eq(5).val();
var price = $(".add-row input").eq(6).val();
var price2 = price price * $("select").val();
if (!order || !category || !productCode || !productName || !store || !unit || !price || !price2) {
$('.error').text('请输入完整信息!');
return;
}
initDatas.push({
order: order,
category: category,
productCode: productCode,
productName: productName,
store: store,
unit: unit,
price: price,
price2: price2
});
loadTableData(initDatas);
}
/**
* 修改折扣
*/
function changePrice(act) {
initDatas.map(function(data) {
data.price2 = data.price * act;
});
loadTableData(initDatas);
}
/script
/body
/html
1、获取数值;
2、去除百分号;
3、将去除百分号的值除以100;
修改后的函数:
function changeCurr(){
var discountVal = document.form1.discount.value;
// 获取%号位置
var index = discountVal.indexOf('%');
if (discountVal.indexOf('%') != -1) {
// 如果百分号是否存在,则截取百分号前面的数值
discountVal = discountVal.substring(0, index);
}
// 将获取到的数值转换成浮点型后再除以100即可
var discount = parseFloat(discountVal)/100;
// 后面处理流程不变
var mOfType = parseFloat(eval("document.form1." + document.form1.currency_code.value + ".value"));
document.form1.amount.value= Math.round(mOfType *(1-discount)*100)/100
}