html输入框验证并提示,jQuery INPUT输入框验证

$(function() {

var c = new ValidateCompent("#test");

});

/**

* 验证输入框

* @param {Object} input

*/

function ValidateCompent(input) {

var _input = $(input).clone(true);

_input.css("height", $(input).css("height"));

_input.css("width", $(input).css("width"));

var border = _input.css("border");

this.successIconClass = "icon-tick";

this.validate = false;

this.faileIconClass = "icon-times";

var $validateRoot = $('

');

var $tooltip = $validateRoot.children(".validate-v1-tooltip");

var $input = _input;

if ($input != undefined) {

var maxWidth = $input.css("width");

var maxHeight = "15px";

$validateRoot.css("display", "inline");

$validateRoot.css("position", "relative");

//$validateRoot.css("width", maxWidth);

$validateRoot.css("height", maxHeight);

$tooltip.css("width", maxWidth);

$tooltip.css("padding", "0px 5px");

$tooltip.css("position", "absolute");

$tooltip.css("top", -parseInt($(input).css("height")) + 25 + "px");

$tooltip.css("z-index", "999999");

$tooltip.css("background-color", "white");

$tooltip.css("border", "solid 1px rgb(188,188,188)");

$tooltip.css("left", parseInt(maxWidth) + 10 + "px");

$tooltip.hide();

var validateOption = $input.attr("data-vali-option");

if (validateOption != undefined) {

validateOption = JSON.parse(validateOption);

var that = this;

var regvali = new Array();

$tooltip.hide();

if (validateOption.length == 0) {

return;

}

for (var i = 0; i < validateOption.length; i++) {

var message = validateOption[i].message;

var pattern = validateOption[i].pattern;

var reg = new RegExp(pattern);

var messageView = new ValidateMessage(message, that.faileIconClass);

regvali.push({

"reg": reg,

"view": messageView

});

$tooltip.append(messageView.dom);

}

$tooltip.css("height", (parseInt(maxHeight) + 15) * validateOption.length);

$input.on("focus propertychange input", function(e) {

$tooltip.show();

for (var i = 0; i < regvali.length; i++) {

if (regvali[i].reg.test($input.val())) {

regvali[i].view.setIconClass(that.successIconClass);

regvali[i].view.dom.css("color", "green");

} else {

regvali[i].view.setIconClass(that.faileIconClass);

regvali[i].view.dom.css("color", "red");

}

}

})

$input.on("blur", function(e) {

for (var i = 0; i < regvali.length; i++) {

if (regvali[i].reg.test($input.val())) {

regvali[i].view.setIconClass(that.successIconClass);

$input.css("border", border == undefined ? "border 1px solid rgb(188,188,188)" : border);

that.validate = true;

} else {

regvali[i].view.setIconClass(that.faileIconClass);

$input.css("border", "1px solid red");

that.validate = false;

break;

}

}

$tooltip.hide();

});

$validateRoot.append($input);

} else {

return;

}

}

this.dom = function() {

return $validateRoot;

}

function ValidateMessage(message, iconFontClass) {

var dom = $('

');

var $icon = dom.children(".vticon");

var $message = dom.children(".vmessage");

$message.css("line-height", "28px");

$message.css("padding", "5px 5px");

$message.css("padding-right", "10px");

$message.css("word-break", "break-all");

$message.css("word-wrap", "break-word");

$message.css("font-size", "14px");

$message.css("position", "relative");

$message.css("z-index", "999999");

this.setIconClass = function(iconClass) {

$icon.removeClass();

$icon.addClass("vticon");

$icon.addClass(iconClass);

}

this.getIcon = function() {

return $icon;

}

this.setMessageText = function(_message) {

$message.html(_message);

}

this.getMessageText = function() {

return $message;

}

this.setIconClass(iconFontClass);

this.setMessageText(message);

this.dom = dom;

}

$validateRoot.insertAfter($(input));

$(input).remove();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,您需要使用jQuery的表单验证插件,例如jQuery Validation。这个插件可以帮助您在提交表单之前验证表单输入。 以下是一些基本步骤: 1. 引入jQueryjQuery Validation库: ```html <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> ``` 2. 在您的HTML表单上添加验证规则: ```html <form id="myform"> <label for="name">Name:</label> <input type="text" id="name" name="name" required> <label for="email">Email:</label> <input type="email" id="email" name="email" required> <button type="submit">Submit</button> </form> ``` 在这个例子中,我们使用“required”验证规则来确保用户必须填写名称和电子邮件地址。 3. 使用jQuery Validation插件初始化表单: ```javascript $(document).ready(function() { $("#myform").validate(); }); ``` 4. 在表单提交之前验证表单: ```javascript $(document).ready(function() { $("#myform").validate({ submitHandler: function(form) { // 表单验证通过,执行保存操作 alert("Form saved!"); } }); }); ``` 在这个例子中,我们使用“submitHandler”选项来指定在表单验证通过后执行的函数。您可以在此函数中编写保存表单的代码。 5. 可以使用其他验证选项来自定义您的验证规则,例如最小/最大长度、自定义验证函数等。请参考jQuery Validation文档以获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值