javascript 正在验证带有连字符的SSN字段并设置其格式:123-45-6789

nxagd54h  于 2022-12-02  发布在  Java
关注(0)|答案(1)|浏览(123)

我目前正在制作一个简单的表单来练习Javascript验证,但在数字之间添加破折号时遇到了困难(例如:123-45-6789)。我需要在用户输入时保留显示其是否有效(仅9位数)的验证。这是我目前所拥有的
第一个
如有任何帮助和解释,我们将不胜感激

epggiuax

epggiuax1#

若要在用户键入时在输入值中添加短划线,可以使用String.prototype.replace方法搜索并替换输入值中的相应字符。
例如,您可以将下列程式码加入ssnFunction,在输入值的适当位置插入虚缐:

let x = document.getElementById("ssn").value;

// Insert dashes at the appropriate positions
x = x.replace(/^(\d{3})(\d{2})(\d{4})$/, "$1-$2-$3");

// Update the input value with the formatted value
document.getElementById("ssn").value = x;

此代码使用正则表达式搜索与输入值中的前三位数字、后两位数字和后四位数字相匹配的模式。然后,replace方法将此模式替换为相同的数字,但用短划线分隔。
例如,如果输入值为123 - 45 - 6789,则正则表达式将匹配模式123-45-6789,并且replace方法将用此格式化值替换输入值。
然后,您可以将此代码添加到ssnFunction中,以便用户每次在输入字段中键入字符时都执行此代码。这将确保在用户键入字符时将短划线插入到输入值中。

相关问题