Javascript полоса после X символов до отправки формы

ОБНОВЛЕНИЕ ** Используя приведенные ниже решения, я добавил это без везения?

<script>
$('.LogIn_submit').on('click',function(){
    var value=$('#Log_In_group_2_FieldB').val();
    value=value.replace(/^sd{6}(?=-)&/, '')
    alert(value);
});
</script>

Вот элементы формы, если, надеясь, что это простое исправление:

<input id="Log_In_group_2_FieldB" name="Log_In_group_2_FieldB" type="password" value="<?php echo((isset($_GET["invalid"])?ValidatedField("login","Log_In_group_2_FieldB"):"".((isset($_GET["failedLogin"]) || isset($_GET["invalid"]))?"":((isset($_COOKIE["RememberMePWD"]))?$_COOKIE["RememberMePWD"]:""))  ."")); ?>" class="formTextfield_Medium" tabindex="2" title="Please enter a value.">

<input class="formButton" name="LogIn_submit" type="submit" id="LogIn_submit" value="Log In"   tabindex="5">

/ ***** Начало вопроса ****** /

Используя $ ( '.btnfetchcont' ). on ( 'click' , function () { var value = $ ( '#txtCont' ). val (); value = value . replace ( / ^ (0 | + d d) * / , '' ) alert ( значение ); }); com / questions / 21034939 / set-textbox-to-readonly-and-background-color-to-gray-in-jquery "> Этот вопрос / скрипты ответов Я вижу, как они использовали javascript следующим образом:

.split()

В настоящее время у меня есть подстрока (начало, конец), которая начинается с 6 символов, заканчивается тире, и до тире может следовать до трех цифр.

Exmaple 1: 123456-01

Пример 2: 123456-9

Пример 3: 123456-999

Я попытался вставить a - в value.replace cod без везения. Как я могу удалить - и любые значения после этого на отправке, чтобы я только отправлял первые 6 цифр?

javascript,jquery,

0

Ответов: 3


2 принят

Кажется, что вы хотите иметь только первые 6 символов из строки.

Используйте или, чтобы получить части строки.var string = "123456-01"; console.log(string.split('-')[0]); console.log(string.substring(0,6));<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 value=value.split("-")[0];
/(-[0|+dd]*)/g


1

Вы можете использовать split вместо regex

function extractNumber(value){
  return value.replace(/(-[0|+dd]*)/g, '');
}
console.log(extractNumber("123456-01"));
console.log(extractNumber("123456-9"));
console.log(extractNumber("123456-999"));

исправить для вашего регулярного выражения

.split('-')

$('.btnfetchcont').on('click',function(){
    var value = $('#txtCont').val();
    value = value.substr(0, 6);
    alert(value);
});


0

Edit: ответ лучше , чем ниже, имо.var value = $('#txtCont').val().substr(0, 6);

Предполагая, что вы всегда хотите только первые 6 символов, что-то вроде этого должно делать то, что вы хотите:

.substr()

или объединить две строки:

var value = $('#txtCont').val().match(/(d*)-(d*)/);

Читайте value здесь .

Если вы хотите получить все перед тире, сделайте что-то вроде этого:

value[0]

valueтеперь представляет собой массив, где value[1]находится исходная строка, value[2]каждая цифра перед тире и dкаждая цифра после тире.

Это работает только для цифр. Если вам нужен любой символ вместо цифр, замените его .на .. т.е.: .match(/(.*)-(.*)/).

JavaScript, JQuery,
Похожие вопросы